Fehler

Rai

Mitglied
PHP:
<?php
include("connections.php");
/* Verbindung aufgebaut */

if ($cat)
{
$selected = "where kat == '$cat'"
}
else
{
$selected = " "
}
;
$auslesen = "select * from timeline '$selected' order by jahr desc";
$holen = mysql_query($auslesen);
/*Datens&auml;tze in Tabelle... */
$in_table = mysql_fetch_row('$holen');
while($in_table)
echo "<tr><td width='33%'>$jahr</td><td>$text</td></tr>";
;

?>

dabei wird von einer tabelle ausgegangen:
id, jahr , text , kat

dem script wird $cat eventuell mit get übergeben,
sonst sollen alle Einträge ausgegeben werden -
klappt aber nicht :(
Aufbau zur DB geht aber....
 
Vielleicht meinst Du ja

PHP:
if (isset($_GET['cat']))  {
  .....

Sprich: anstelle von $cat $_GET['cat'] benutzen. Probier das mal!
 
PHP:
<?php 
include("connections.php"); 
/* Verbindung aufgebaut */ 

if ($_GET['cat']) 
{ 
$selected = "WHERE kat = ". $_GET['cat'];  
} 
else 
{ 
$selected = " " ; 
} 
; 
$auslesen = "SELECT *  FROM timeline ".$selected." ORDER BY jahr DESC"; 
$holen = mysql_query($auslesen); 
/*Datens&auml;tze in Tabelle... */ 
$in_table = mysql_fetch_object($holen); 
while($in_table) {
echo "<tr><td width=\"33%\">".$in_table->jahr."</td><td>".$in_table->text."</td></tr>"; 
} 

?>

// So ich glaub jetzt hab ich s :( *schäm*
Versuchs ma so

Gruß Mirko
 
Zuletzt bearbeitet:
was genau ist der Vorteil dabei von fetch_object und fetch_row

könnte es nciht auch so gehen ?
PHP:
$cat = $HTTP_GET_VARS["cat"];
/* Get geholt :) */
include("connections.php");
/* Verbindung aufgebaut */

if ($cat)
{
$selected = "where kat == '$cat'"
}
else
{
$selected = " "
}
;
....
 
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 ^^
 
Zuletzt bearbeitet:
@ SonicBe@m

Ich weiß leider, irgendwie hatte ich eben nicht den Kopf zum schreiben aber Lust zum helfen. Ist schon komisch manchmal.

Ich hab das Teil auch was weiß ich wie oft editiert. :(
Naja jetzt bin ich wieder ein bisschen klarer im Kopf, und kann wieder anständige Antworten geben.

Gruß Mirko
 
Zurück