alsooo
mysql_fetch_row -- Liefert einen Datensatz als indiziertes Array
fetch_row benutzt man dann wenn man mehr oder wenniger unleserlichen code haben will
mysql_fetch_assoc -- Liefert einen Datensatz als assoziatives Array
Is die leserliche Version zu fetch_row da man in seinem Array mit dem Namen der spalte zugreift.
mysql_fetch_array -- Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
Die Funktion mysql_fetch_array() verwendet eine Konstante für die verschiedenen Arten der Ergebnisarrays. Die folgenden Konstanten sind definiert:
MYSQL_ASSOC
MYSQL_NUM
MYSQL_BOTH wird automatisch verwendet wenn man kein argument übergibt
mysql_fetch_object -- Liefert eine Ergebniszeile als Objekt
hier haste dann einfach ein Objekt
ist aber nur sinvoll wenn du auch wirklich alles oo schreibst
für nen kleinen Sql-hack ists allerdings zu viel des guten und wird zu schnell unleserlich!
ich empfehle dir fetch_assoc
So musst du den aufruf mit $row['spaltenname'] schreiben und weißt dann auch welche du meinst
select x , y , z from abc
ist $row['x'] = x , $row['y'] = y und $row['z'] = z
bei fetch_row biste auf dein Select angewiesen
z.b
select x , y , z from abc
dann ist $row[0] = x , $row[1] = y und $row[2] = z
ist find ich total unübersichtlich!
das beispiel von Mirko würd ich also mit assoc schreiben!
PHP:
<?php
include("connections.php");
/* Verbindung aufgebaut */
$selected = "" ;
if ($_REQUEST['cat']) {
$tmp = $_REQUEST['cat'];
$selected = "WHERE kat = '$tmp'";
}
?>
<table>
<?
// und wenn wir unten eh nur 2 spalten ausgeben
// dann selektieren wir die auch nur
$auslesen = ""
$auslesen .= "SELECT jahr,text FROM timeline ";
$auslesen .= "$selected ORDER BY jahr DESC";
$holen = mysql_query($auslesen);
while($row = mysql_fetch_assoc($holen)) {
?>
<tr>
<td width="33%"><?=$row['jahr']?></td>
<td><?=$row['text']?></td>
</tr>
<?}?>
</table>
Sorry aber du hattest echt gut viele Fehler in deinem kleinen Script @ Mirko ^^