Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

2 sql-abfragen in 2 tabellen-spalten ausgeben





Frage

hallo... ich möchte den inhalt zweier datenbankabfragen in zwei tabellenreihen ausgeben... <?sql $fields = mysql_list_fields("test", "monitor"); $columns = mysql_num_fields($fields)-1; $sql = mysql_query("select * from monitor where MonID = '$id'"); $res = mysql_fetch_array($sql); $num = mysql_num_row($res); ?> <table border="1" align="center" bgcolor="#EEEEE0" width="400"> <tr> <?php for ($i = 0; $i < $columns; $i++) { ?> <td> <?php echo mysql_field_name($fields, $i); } ?> </td> <?php for ($i = 0; $i < $num; $i++) { ?> <td> <?php echo $res; } ?> </td> </tr> und kriege es einfach nicht hin...trotz php-handbuch und stundenlangem ausprobieren... der erste teil der tabelle funktioniert, aber der zweite nicht. sehe den wald vor lauter bäumen schon nicht mehr... kann mir jemand helfen??? danke im vorraus bernd

Antwort 1 von semi


<?php
...
Verbindung zu mySQL aufbauen
...
$fields  = mysql_list_fields("test", "monitor");
$columns = mysql_num_fields($fields);
$result  = mysql_query("select * from monitor where MonID = '$id'");

echo "<table border=\"1\" align=\"center\""
    ." bgcolor=\"#EEEEE0\" width=\"400\">\n";

echo "<tr>\n";
for($i=0; $i<$columns; $i++)
  echo "  <td>" . mysql_field_name($fields, $i) . "</td>\n";
echo "</tr>\n";
while($row=mysql_fetch_array($result, MYSQL_NUM)) {
  echo "<tr>\n";
  foreach($row as $field)
    echo "  <td>$field</td>\n";
  echo "</tr>\n";
}
echo "</tr>\n</table>";
?>

Gruß,
Michael

Antwort 2 von beruno

danke michael... für die schnelle antwort...

die ausgabe in tabellenform funktioniert zwar,
aber die tabelle wird horizontal ausgegeben statt vertikal...

könnte man nicht mein gerüst verwenden?
...wäre für mich auch leichter nachvollziehbar...

will aber versuchen es hinzukriegen...

gruß
bernd

Antwort 3 von semi

Oh, habe gar nicht gemerkt, dass es für einen Datensatz gedacht ist. :)

<?php
$fields = mysql_list_fields("test", "monitor");
$columns = mysql_num_fields($fields)-1;

$sql = mysql_query("select * from monitor where MonID = '$id'");
$res = mysql_fetch_array($sql);
//$num = mysql_num_row($res);

echo "<table border=\"1\" align=\"center\""
    ." bgcolor=\"#EEEEE0\" width=\"400\">\n";
echo "<tr>\n";

for ($i = 0; $i < $columns; $i++)
{
  echo "  <td>";
  echo mysql_field_name($fields, $i);
  echo "</td>\n";
  echo "  <td>";
  echo $res[$i];
  echo "</td>\n";
  echo "</tr>\n";
}
?>
Jetzt aber :)
Oder war es anders gemeint?


Antwort 4 von beruno

...jetzt läuft es prima,
nur habe ich jetzt noch das Problem, dass die ersten drei datensätze nicht angezeigt werden sollen, aber das lässt sich sicher mit der entsprechenden mysql_query lösen.

das projekt soll eine internet-seite werden, in der man aus einem dropdown-menü monitor-hersteller auswählen kann,
dann die in einer datenbank gespeicherten monitor-modelle des jeweiligen herstellers angezeigt bekommt, die wiederum auf klicken die daten der monitore zeigen.
das ist dank deiner hilfe jetzt auch fast lauffähig.
jetzt möchte ich "nur" noch eine einfache suchmaschine einbauen, mit der man gezielt zb. alle 17" monitore oder alle monitore mit einer max. auflösung von 1024 * 768 angezeigt bekommt.

kann'st du mir einen tipp geben wo ich vielleicht ein programm-beispiel oder eine anregung finden kann?

ich will die seite schon mal im laufe des abends probeweise online stellen. wenn du willst, schicke ich dir die adresse dann per e-mail.
natürlich brauche ich dazu auch deine e-mail adresse.

gruss
bernd

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: