newb-frage ... sql-->inhalt der seite

deRichie

Grünschnabel
ganz einfach ... abba ich packs net ...

also:
ich will je nach id aus einer tabelle einen datensatz ausgeben ...
und zwar als wunderbar formatierte tabelle ... also quasi so:

titel
(grafik) | inhalt teil 1
(grafik) | inhalt teil 2
(grafik) | inhalt teil 3
... ... ...

die grafik ist sogar immer die gleiche ...

nun ist das ganze normal ganz einfach in dem ich einfach die datensätze in ein array schreib und nacheinander in ne tabelle rein schreibe ...
nur leider haben die verschiedenen datensätze unterschiedlich viele inhaltsfelder ... und ich will da keine lehren zeilen stehen haben ... sieht einfach doof aus ...
kann mir jemand helfen?

danke schomma im voraus ...

tülü

deRichie
 
ist relativ einfach

wenn du das ganze ausgibst und nehmen wir an dein array wo alles drinsteht heißt jetzt mal... öhm $array ;)

so und nun gehen wir davon aus, dass die spalte "grafik" die 2. in der tabelle ist,
die spalte "inhalt" die 5. ist und die spalte nehmen wir als beispiel "link" die 10. ist.

du hast jetzt mit dem sql befehl alles aus der datenbank selected und mit
PHP:
$array = mysql_fetch_array($var);  // besser als mysql_fetch_row()
in den array $array gelegt.

so nun musst du lediglich das ganze so angeben, damit die die lehren felder nicht mit ausgibst

PHP:
echo "<td>$array[grafik]</td><td>$array[inhalt]</td><td>$array[link]</td>


eine andere möglichkeit wäre, dass der SQL befehl nicht so aussieht:

SELECT * FROM tabelle

sondern, dass du sagst welche infos aus welche spalte gezogen werden:

SELECT grafik,inhalt,link FROM tabelle


such dir was aus was dir besser gefällt
 
sorry... ich glaub ihr habt mich ein wenig falsch verstanden ...

meine sql-Tabelle sieht so aus:

id ... Titel der Seite ... mehrere Felder mit Informationen ...

beispieldatensatz:

1 ... Richie ... klein ... rund .... nussig ...
2 ... Rebekka ... groß ... eckig ... bananig ... lila ( so in der art ...)

das ganze ist ein Steckbriefsystem ... allerdings ist die Anzahl der gefüllten Spalten in der Tabelle unterschiedlich ...
das heißt ein Datensatz besteht mal aus id, titel und 7 Informationen, mal aus id, titel und 17 Informationen ...
nun möchte ich das ganze tabellarisch auflisten ... und zwar so:

Titel
____________
grafik // info 1
grafik // info 2
grafik // info 3
grafik // info 4
grafik // info 5

die Grafik ist nur nen kleiner Zeiger und uninteressant für den code denk ich mal ...
ich möchte halt die ganzen Daten aus dem Datensatz untereinander ausgeben ... allerdings ohne unten leere Zeilen zu haben ...
wenn ich das so mache wie ich das kenne sieht das so aus:

PHP:
<tr><td><img src="bla.jpg"></td><td><?php echo $var->feld1; ?></td</tr>

dann mache ich einfach eine solche Zeile für jede Info die ich ausgeben will und fertig ...
allerdings hab ich dann wenn ich "leere" datenzellen da stehn hab leere angaben ... und genau das will ich halt nicht

ich werds mal weiter versuchen ... aber da ich halt nen n4p bin würde ich mich über hilfe freuen ...

mfg
deRichie
 
Ähm... wie wärs mit ner vorgeschalteten IF-Abfrage?
Beispiel:
PHP:
$sql=mysql_query("SELECT * FROM tabelle");
while($row=mysql_fetch_array($sql)) {
   if($row['feldname']!="") { //überprüft, ob in dem Feld überhaupt was drin steht...
      echo '<tr><td><img src="bla.jpg"></td><td>'.$row['feldname'].'</td></tr>';
   }
}
 
Zurück