Aus SQL zwei Spaten auslesen und als Link in HTML schreiben

  • #1
N

Ninn

Guest
Hallo,

wer kann mir ein kleines PHP-Script schreiben. Für einen der Ahnung davon hat sicherlich kein Problem.

Was soll das Script machen.

1.) Natürlich zuerst die Datenbank öffnen
2.) Aus der Tabelle testtabelle die Spalten auftag und artikel auslesen.

Beispiel:

auftag | artikel
--------------------------------------
22 | 8
326 | 8
234 | 25
456 | 12

3.) Die ausgelesenen Daten als Link in eine HTML-Datei (links.htm) schreiben, diese sollte dann so ausehen:

http://www.meineadresse.de/22_8.htm (Unterstrich zw. den Zahlen)
http://www.meineadresse.de/326_8.htm
http://www.meineadresse.de/234_25.htm
http://www.meineadresse.de/456_12.htm

Also immer ..../auftrag_artikel.htm

Hindergrund:
Die URLs nach dem Format
http://www.meineadresse.de/bestellung.php?auftrag=22?artikel=8

werden von Suchmaschinen wie Google meist nicht durchsucht und in den Index aufgenommen.

Ich habe es mit Hilfe des Apache-Moduls mod_rewride so eingestellt das die Seiten auch mit der URL
http://www.meineadresse.de/22_8.htm
aufgerufen werden können. Nun will ich eine HTML mit allen gültigen URLs zu den Unterseiten der Homepage generieren die von den Robots durchsucht werden kann und dann auch alle Unterseiten in den Index aufnimmt.

Wenn dafür jemand eine bessere Lösung hat, bitte melden.
 
  • #2
Die URLs nach dem Format
http://www.meineadresse.de/bestellung.php?auftrag=22?artikel=8
werden von Suchmaschinen wie Google meist nicht durchsucht und in den Index aufgenommen.
Das werden sie, wenn Google den entsprechenden Link findet. Der Spider folgt nunmal nur den Links, die er findet (logisch). Wenn du deine Ergebnisseiten also nicht verlinkst, kann Google sie nicht finden, egal, wie der Name formatiert ist.

Jedenfalls halte ich die Idee, Links aus einer Datenbank zu generieren, die dann auf HTML Seiten verweisen, für .... naja ... sagen wir - suboptimal :)
 
  • #3
  • #4
so ninn
Zuerst: Variablen werden in Links so übergeben:
123.php?auftrag=$auftrag&artikel=$artikel
(die variablen wurden vorher ausgelesen)
bsp:
123.php?auftrag=22&artiekl=8

nur so weil ich grad sehe das dus flasch geschrieben hast...

So zu deinen PHP Script.
Welche Links sollen ausgelesen werden, nur bestimmte, vorher festgelegte oder sollen einfach alle die in der Datenbank zu finden sind einfach nur ausgegeben werden?

Wenn ich dich richtig verstanden habe willst du ja statt links mit PHP anhängen nur normale Links, oder?

wenn ich zu hause bin und das mit den sortieren bzw. auslesen der db geklärt ist dann mach ich dir schnell ein script....


grüße xeen
 
  • #5
Vielleicht so?
<?php
/*
* Linksmächen v1.0798456,345.6
*/
// Datenbank connect für offline und online test
$liveserver = deineDomainonline; // www.atdog.de
if ($SERVER_NAME == $liveserver) {
$user = username;
$pass = passwort;
$server = server.mysql.de;
$dbase = MeineLinks;
} else {
$server = localdurst;
$user = username;
$pass = passwort;
$dbase = MeineLinks;
}
//
$conn = @mysql_connect($server, $user, $pass);
if($conn) {
@mysql_select_db($dbase, $conn);
} else {
die(<b>Die Verbindung zum Mysql-Server Datenbank $dbase konnte nicht hergestellt werden</b></body></html>);
} /*end if */

$query = SELECT * FROM links;
$result= mysql_query($query);
if ($result) {
$DieDatei = links.htm; // anpassen
$rows = mysql_num_rows($result);
echo Es sind .$rows. links in der Datenbank\n; // Zeile 1
echo <br>Die Links wurden in die Datei:<a href=\http://.$SERVER_NAME./.$DieDatei.\> .$DieDatei.</a> geschrieben!<br>; // zeile 2
// die zwei Zeilen nur zur kontrolle Ausgabe des Scriptes

$DieLinks = ; // nix aendern
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$DieLinks .= <a href=\http://.$SERVER_NAME./.$row['auftrag']._.$row['artikel']..htm\>http://.$SERVER_NAME./.$row['auftrag']._.$row['artikel']..htm</a><br>\n; // hier werden die Links erzeugt
} // end while
$fa = fopen($DieDatei, w); // datei zum schreiben uff mächen
flock($fa,2); //datei verriegeln nur UNIX
fputs($fa,$DieLinks); // die rechts da rein schreiben
flock($fa,3); // Datei entriegeln wer ahnst nur UNIX
fclose($fa); // Datei schliessen
} // end if

mysql_close(); // nur der ordnung halber
exit(); // wegen server performance gelle macht schnelle
?>

die Tabelle sollte bei MySql denn so aussehen.

#
# Tabellenstruktur für Tabelle `links`
#

CREATE TABLE links (
ID int(4) NOT NULL auto_increment,
auftrag int(5) NOT NULL default '0',
artikel int(5) NOT NULL default '0',
PRIMARY KEY (ID),
UNIQUE KEY ID (ID)
) TYPE=MyISAM;

#
# Daten für Tabelle `links`
#

INSERT INTO links VALUES (1,22,8);
INSERT INTO links VALUES (2,326,8);
INSERT INTO links VALUES (3,234,25);
INSERT INTO links VALUES (4,456,12);
...
INSERT INTO links VALUES (152,569,37);
etc.

Viel Spaß!
 
  • #6
Hi,

Ich hab mir ein neues Mainboard Gigabyte 970a ud3 gegönnt.
Dort werden Etron USB3 Treiber mitgeliefert. Deshalb habe ich sie installiert. (Windows 7 Ultimate 64-Bit)

Im laufenden Betrieb funktionieren die USB3 Schnittstellen problemlos, aber jedesmal wenn ich den PC herunterfahre oder neu starte bekomme ich einen Bluescreen der auf die Eton USB3 Treiber (0.105) zurückzuführen ist.

Also habe ich versucht die Treiber zu updaten. Aber sofort bekomme ich beim setup start zur neuen Version wieder den Bluescreen. (Auch im sicheren Modus geht es nicht)

Auch deinstallieren der aktuellen Treiber funktioniert nicht --> Bluescreen

Auch über den Geräte Manager kann ich nichts deaktvieren oder aktualisieren ohne Bluescreen-

Was soll ich jetzt machen? Ich kann weder updaten noch löschen, weder im sicheren Modus, noch im normalen.

Es nervt, das ich dauernd beim runterfahren den Bluescreen bekomm...


Edit:

Ich habe es nun endlich hinbekommen die Treiber zu entfernen, bzw zu updaten.
Allerdings bekomme auch mit der neuen Version den Screenshot sodas ich momentan keinen USB3 Port nutzen kann.
 
  • #7
Hallo,
Service Pack 1 installiert ?
Denn nur mit Service Pack 1 Funktioniert USB 3.0


Gruß Lennox
 
Thema:

Aus SQL zwei Spaten auslesen und als Link in HTML schreiben

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben