Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten von der Datebank sortiert ausgeben
Hallo miteinander,
auch ich hab ein Problem:
Ich habe in mySQL eine Tabelle angelegt, unter anderem mit den Feldern: Vorname & Name
Alle Namen befinden sich in dieser Tabelle.
Jetzt meine Frage:
Ist es in PHP möglich, meine Daten sortiert z.B. nach Name auszugeben?
Ich mein jetzt nicht ALLE Datensätze, sondern nur die, die z.B. mit A, B, C,... beginnen?? Die restlichen Datensätze sollten nicht erscheinen.
Wär mir eine große hilfe!
Viele Grüße
Florian
MAch es doch so, so bekommst Du z.B. nur die Namen die mit einem A beginnen.
select * from Tabelle where name like 'A%'
Gruß
Arni
Hi,
danke für Deine Antwort, aber es funktioniert nicht:
Nach deiner Angabe, wärs doch so, oder? ...
$select = "select * from $tabelle WHERE Art 'A%'";
?!?
Florian
Nein
$select = "select * from $tabelle WHERE Art like 'A%'";
so muß es sein.
Du darfst das like (wie) nicht vergessen
Gruß
Arni
Hm... tut mir leid, aber trotzdem funktioniert es nicht!
Mein Script sieht im ganzen so aus: Vielleicht liegts an einem Fehler?! ...
<?php ....
#Connecting#
$conn = mysql_connect($server, $user, $pass);
$select = mysql_select_db($datenbank,$conn);
$query = "select * from $tabelle WHERE Art like 'A%'";
$result = mysql_query($query,$conn);
$rows = mysql_numrows($result);
echo "<table border='0' cellpadding='3' cellspacing='0' witdh=100%>";
for ($i = 0; $i < $rows; $i++) {
$row = mysql_fetch_array($result);
echo "<tr>
<td VALIGN='TOP' width='40%'><FONT face='Arial' size=2>$row[Art]</font></td>
<td VALIGN='TOP' width='20%'><FONT face='Arial' size=2>$row[Inhaber]</font></td>
<td VALIGN='TOP' width='20%'><FONT face='Arial' size=2>$row[Anschrift]</font></td>
<td VALIGN='TOP' width='20%'><FONT face='Arial' size=2><a href='$row[INet]' target='_blank'>$row[INet]</a></font></td>
</tr>";
}
echo "</table>";
....
Wenn ich deine Befehlszeile angebe, zeigt er mir gar nix an.
die Indices der Abfrage müssen in " stehen, naja und das mysql_num_rows hast du wohl falsch geschrieben naja und das Query muss lauten
$query = "SELECT * FROM $tabelle WHERE Art = 'A%' ORDER BY Art ASC";
danke für die hilfe.. aber ich check des ned ... ich hab da alles so gemacht, wie beschrieben und es funktioniert nicht... wasn da bloß für ein fehler drin?
Und was sind Indices?
<?php ....
#Connecting#
$conn = mysql_connect($server, $user, $pass);
$select = mysql_select_db($datenbank,$conn);
$query = "SELECT * FROM $tabelle WHERE Art = 'A%' ORDER BY Art ASC";
$result = mysql_query($query,$conn);
$rows = mysql_num_rows($result);
echo "<table border='0' cellpadding='3' cellspacing='0' witdh=100%>";
for ($i = 0; $i < $rows; $i++) {
$row = mysql_fetch_array($result);
echo "<tr>
<td VALIGN='TOP' width='40%'><FONT face='Arial' size=2>$row[Art]</font></td>
<td VALIGN='TOP' width='20%'><FONT face='Arial' size=2>$row[Inhaber]</font></td>
<td VALIGN='TOP' width='20%'><FONT face='Arial' size=2>$row[Anschrift]</font></td>
<td VALIGN='TOP' width='20%'><FONT face='Arial' size=2><a href='$row[INet]' target='_blank'>$row[INet]</a></font></td>
</tr>";
}
echo "</table>";
.... ?>
sieht der code jetzt so aus?
ja genau so sieht er jetzt aus, nur zeigt er mir nix an .. gar nix
schmalle 08-10-2001, 18:31 wenn er jetzt noch immer nix anzeigt, und auch keinen fehler ausspuckt, würde ich mal sagen, dass in deiner tabelle nix drinsteht, was mit "A" beginnt ...
tja.. wär schön, dem ist aber leider nicht so :-(
Ich habe dein Script und die DB-Tabelle nachgestellt.
Ergebnis:
$query = "SELECT * FROM $tabelle WHERE Art LIKE 'A%' ORDER BY Art ASC";
LIKE muss statt eines = stehen
schmalle 08-10-2001, 19:42 ups, das ich wohl übersehen *blind* :D
sorry für das anzweifeln von vorhandenen daten *g*
@Schmalle: Ich hab auch ne weile gebraucht um es zu merken!
Also.. danke für die zahlreiche Hilfe. Jetzt endlich nach harten zwei Tagen rummerkern hier hats geholfen.. viel Dank. Der Fehler lag aber die ganze Zeit nicht bei euch, der leg bei mir ....
Der Grund: Ganz einfach, doch schwer zu finden :-)
Ich hatte die Tabelle in meine SQL-Datebank mithilfe einer Textdatei eingebunden ...
Bei der Erstellung diser Textdatei rückte mein Programm wahrscheinlich nach dem Semikolon ein Leerzeichen ein.
In meiner Datenbank fingen dann logischerweise alle Datensätze mit einem Leerzeichen an... irgendwie klar, dass er mir nix anzeigte :-)
Nur dauerte es zwei Tage um das zu erkennen... dummheit regiert eben doch noch die Welt :-)
Doch vielen Dank für die Hilfe. Ich hoffe, ich hab euch nichts zu sehr darüber genervt :-)
Viele Grüße
Florian
schmalle 09-10-2001, 09:25 ich hatte also doch recht :D ich bin ja sooooooooooo gut :D :D
Original (http://www.php-resource.de/forum/showthread.php?threadid=2583#post9088) geschrieben von JoelH
die Indices der Abfrage müssen in " stehen Titus sagt: müssen sie nicht, wenn´s keine PHP-Befehle sind, naja und das mysql_num_rows hast du wohl falsch geschrieben Titus sagt: mysql_numrows ist nur ne veraltete Schreibweise, aber immer noch korrektnaja und das Query muss lauten
$query = "SELECT * FROM $tabelle WHERE Art = 'A%' ORDER BY Art ASC";
P.S.
Seltsam ... Der Link an sich funktioniert nicht 100%ig: Beim Klick auf den Link wird der Name-Anker nicht angesprungen. Ist die Seite erstmal geladen, hilft ein Refresh.
@Berni: Willst du so einen Link nicht mal einbauen ins Quote?! (bei Gelegenheit)
Schmalle.. wer sagt, dass du recht hattest? Meine Datebank war ja nicht leer. Es war "nur" ein LEERzeichen vor jedem eintrag... *g*
:D:D Hättest Schmalle doch in dem Glauben lassen können :);)
Jetzt bricht eine Welt zusammen
uff sorry.. des wollt ich net *ggggggggg*
aber des war MEIN Fehler und net seiner... wie kommt ihr darauf, meine Fehler zu klauen? :)
*ggggggggg*
schmalle 09-10-2001, 16:38 :D :D
bei euch hackt das wohl? :D
1. meine welt steht noch :-)
2. ich habe nie behauptet, dass die db leer ist! ich sagte
wenn er jetzt noch immer nix anzeigt, und auch keinen fehler ausspuckt, würde ich mal sagen, dass in deiner tabelle nix drinsteht, was mit "A" beginnt ...
da die datensätze mit einem leerzeichen anfingen, hatte ich RECHT :D :D :D
Na da haben wir ja nochmal Glück gehab! :D :D :D
Schmalle hatte RECHT & seine Welt steht auch noch...
Dann kann man den Thread ja jetzt beenden - oder weiter zumüllen :D :D :D
|
-
- |