Archiv verlassen und diese Seite im Standarddesign anzeigen : MySql DB auslesen, Problem mit row
Hi!
Ich hoffe ihr könnt mir helfen, denn in der Suche habe ich nichts gescheites gefunden. Es geht um folgendes: Ich möchte aus einer grossen DB Daten auslesen, wo eine bestimmte bedingung stimmt. Soweit kein Problem. Nun habe ich aber das Problem, dass das Script nach einem durchlauf der for schleife immer wieder am anfang der tabelle beginnt. Wie kann ich dem script sagen, welche reihe zuletzt abgefragt wurde und bei welcher reihe es bei erneutem Durchlauf beginnen soll. Mit mysql_data_seek oder mysql_affected_rows()? Ich bewege mich da auf Neuland, deshalb würde mich ich sehr freuen, wenn ihr mir ne kurze antwort geben könntet. Vielen Dank im vorraus!
Willst du einen bestimmten Datensatz auslesen oder willst du die Datenbank einfach nur durchsuchen?
Wenn du einen bestimmten Datensatz auslesen willst gibst du einfach noch die WHERE spalte='$uebergabe_string' mit an. Dann wird dir genau dieser Datensatz aus der Datenbank ausgelesen.
Wenn's nicht zu umfassend ist, poste mal ein wenig vom Code.
Dann ist es leichter nachzuvollziehen was Du genau meinst.
Uff, hab mich wohl etwas blöd ausgedrückt :)
Also, ich habe eine grosse DB, die ich durchsuchen möchte. Die Ergebniss möchte ich in Alphabetischer Reihenfolge ausgeben, also nach einem Wert der Tabelle, z.B. dem Autor. Wie kann ich das realisieren? Den Code, den ich momentan habe, kann ich vergessen, weil ein sortieren damit nicht möglich ist. Wäre echt nett, wenn ihr mir helfen könntet. Vielen Dank!
So irgendwie halt:
<?php
$link = mysql_connect("localhost","ich","geheim"); // Connect zur Datenbank
if (!$link)
die("Kann den Server nicht erreichen.");
if (!mysql_select_db("meinegrossedatenbank", $link)) // Datenbank auswählen
die("Kann die Datenbank nicht anwählen.");
$query = "select * from meinetabelle where irgendwas='schoen' order by author"; // Select zusammenbauen
$result = mysql_query($query, $link); // Select gegen DB ausführen
if (!$result) {
print mysql_error();
die("Query $query ist ungültiges SQL.");
}
while($row = mysql_fetch_array($result)) {
print "Record: $row[author] $row[feld1_der tabelle] $row[etc]<br>\n";
}
mysql_free_result($result);
mysql_close($link);
?>
So direkt versteh ich die Ausgabe des Arrays am schluss nicht ganz. Das Problem ist, dass in einer Reihe 11 Daten sind, die zusammen gehören. ich möchte in meinem Ergebnis alle 11 Daten ausgeben, quasi als einen Datensatz, der aber nur nach einem Feld der 11 Daten sortiert wird. Beispiel:
DB:
Author | Buch | Titel | ISBN | Kategorie | ...
Nun möchte ich überall wo die Kategorie z.B. Horror ist, die gesamte Reihe ausgeben, das ganze aber nach dem Titel (alphabetisch sortieren). Hoffe das war jetzt verständlich :)
Schon mal vielen, vielen Dank an alle, die bisher geantwortet haben!
MelloPie 25-07-2002, 22:43 SELECT Author, Buch , Titel, ISBN , Kategorie FROM tbl WHERE Kategorie ='Horror' ORDER BY Titel
brauchst Du wohl als SQL Statement
Also weiter mit Teamwork:
<?php
$link = mysql_connect("localhost","ich","geheim"); // Connect zur Datenbank
if (!$link)
die("Kann den Server nicht erreichen.");
if (!mysql_select_db("meinegrossedatenbank", $link)) // Datenbank auswählen
die("Kann die Datenbank nicht anwählen.");
$query = "SELECT Author, Buch, Titel, ISBN , Kategorie FROM tbl WHERE Kategorie ='Horror' ORDER BY Titel";
$result = mysql_query($query, $link); // Select gegen DB ausführen
if (!$result) {
print mysql_error();
die("Query $query ist ungültiges SQL.");
}
while($row = mysql_fetch_array($result)) {
print "$row[Titel] hat $row[Author] geschrieben und ist unter der ISBN $row[ISBN] erhältlich<br>\n";
print "Ach ja noch was es gehört zur Kategorie: $row[Kategorie] das $row[Buch] <br>\n";
}
mysql_free_result($result);
mysql_close($link);
?>
Vielen, vielen Dank an euch alle! Hab mir das angeschaut und es probiert: Klappt prima und ich verstehs auch :D
thx
|
-
- |