|
|
|
|
Problem bei Abfrage |
SpL!T
Junior Member
Dabei seit: 31.12.2004
Beiträge: 141
|
|
Problem bei Abfrage |
|
Hi,
Habe ein Script geschrieben, wo der Benutzer Daten in eine Datenbank einschrieben kann, welche danach auf einer Seite ausgelesen werden. Und zwar so, dass die Spalte mit der höchsten id zu oberst erscheint. Problem ist nun, dass sobald die 10. Spalte ( id logischerweise = 10) eingetragen wird, diese nicht ausgegeben wird. Ich verstehe jedoch nicht wieso das so ist.
Hier der Code der Ausgabeseite:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
|
//db connenct//
$host="******";
$user="******";
$pwd="******";
$db="******";
$ident=mysql_connect($host, $user, $pwd);
//end db connect //
$stop=0;
$sqls="select max(id) as maxid from reps";
$res=mysql_db_query($db, $sqls, $ident);
$maxid=mysql_result($res,0);
for ($a=$maxid;$a>=1 and $stop<10;$a--){
$sqls="select * from reps where id=$a";
$res=mysql_db_query($db, $sqls, $ident);
<<<HIER STEHT DIE AUSGABE>>>
$stop=$stop+1;
} |
|
Besten Dank schonmal im Voraus.
mfg
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von SpL!T: 08.02.2006 18:31.
|
|
08.02.2006 09:11 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
RE: Problem bei Abfrage |
|
Geht's noch ein wenig umständlicher?
Soweit ich es dem Code entnehmen kann, willst du also die letzten 10 Einträge aus der Datenbank lesen und ausgeben?
Wie wär's damit:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
//db connect//
$host = '******';
$user = '******';
$pwd = '******';
$db = '******';
$ident = mysql_connect ( $host, $user, $pwd );
//end db connect //
$sql = 'SELECT * FROM reps ORDER BY id DESC LIMIT 10';
$res = mysql_db_query ( $db, $sql, $ident );
/* <<<HIER STEHT DIE AUSGABE>>> */ |
|
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
08.02.2006 11:04 |
|
|
SpL!T
Junior Member
Dabei seit: 31.12.2004
Beiträge: 141
Themenstarter
|
|
Besten Dank für deine Antwort.
Dein Vorschlag macht sinn und ist wohl auch die elgantere variante *g*
Bei meiner for-Schlaufe konnte ich einfach bei jedem durchlauf eine Spalte aus der Datenbanktabelle ausgeben. Wie sieht die Ausgabe (Abgesehen von Tabellen etc) bei deiner Variante aus?
|
|
09.02.2006 08:48 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
$res ist ein gleich aufgebautes mySQL-Resultset, wie du es auch innerhalb deiner for-Schleife hast... nur dass es eben nicht nur einen, sondern 10 Datensätze enthält.
Mögliche Ausgabe:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
|
echo '<table>';
while ( $zeile = mysql_fetch_assoc ( $res ) )
{
echo '<tr>';
foreach ( $zeile as $spalte )
{
echo '<td>' . $spalte . '</td>';
}
echo '</tr>';
}
echo '</table>'; |
|
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
09.02.2006 10:37 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
mysql_fetch_assoc() packt den nächsten Datensatz eines Resultsets in ein assoziatives Array. Finde ich syntaktisch ein bisschen einfacher als mysql_result.
foreach() ist für die einfache Ausgabe eines Arrays. Das ist wie eine for-Schleife, nur dass du keinen Index brauchst den du hoch oder runter zählst, sondern dass einfach alle Elemente nacheinander abgeklappert werden.
Wenn du die Daten in anderer Reihenfolge ausgeben willst, oder mehrere Spalten in einer Tabellenzelle unterbringen willst, dann ersetze das foreach durch anderen Ausgabecode. In meinem Beispiel kannst du eine bestimmte Spalte innerhalb des aktuellen Datensatzes auch einfach mit
php: |
1:
|
echo $zeile [ 'spaltenname' ]; |
|
ausgeben.
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
09.02.2006 11:35 |
|
|
SpL!T
Junior Member
Dabei seit: 31.12.2004
Beiträge: 141
Themenstarter
|
|
|
09.02.2006 13:27 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
|
09.02.2006 14:46 |
|
|
|
|
|
|