Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Daten von der Datebank sortiert ausgeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Daten von der Datebank sortiert ausgeben


 
Florian
06-10-2001, 17:09 
 
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

 
Arni
07-10-2001, 02:53 
 
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

 
Florian
07-10-2001, 12:05 
 
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

 
Arni
07-10-2001, 13:04 
 
Nein

$select = "select * from $tabelle WHERE Art like 'A%'";
so muß es sein.
Du darfst das like (wie) nicht vergessen

Gruß
Arni

 
Florian
07-10-2001, 14:39 
 
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.

 
JoelH
08-10-2001, 10:32 
 
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";

 
Florian
08-10-2001, 16:27 
 
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?

 
Kaffi
08-10-2001, 16:54 
 
<?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?

 
Florian
08-10-2001, 17:18 
 
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 ...

 
Florian
08-10-2001, 18:36 
 
tja.. wär schön, dem ist aber leider nicht so :-(

 
Kaffi
08-10-2001, 19:35 
 
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*

 
Kaffi
08-10-2001, 20:07 
 
@Schmalle: Ich hab auch ne weile gebraucht um es zu merken!

 
Florian
08-10-2001, 20:24 
 
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

 
Titus
09-10-2001, 12:26 
 
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)

 
Florian
09-10-2001, 16:12 
 
Schmalle.. wer sagt, dass du recht hattest? Meine Datebank war ja nicht leer. Es war "nur" ein LEERzeichen vor jedem eintrag... *g*

 
Kaffi
09-10-2001, 16:17 
 
:D:D Hättest Schmalle doch in dem Glauben lassen können :);)
Jetzt bricht eine Welt zusammen

 
Florian
09-10-2001, 16:19 
 
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

 
Kaffi
09-10-2001, 16:47 
 
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

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:37 Uhr.