php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
php in Html hineinzwängen


 
Ptolemaios
11-12-2008, 11:38 
 
Hallo,
ich brauche bitte Hilfe

Eine Suchfunktion öffnet eine Ergebnisseite. Diese Ergebnisseite zeigt mir alle gefundenen Datensätze an. Soweit so gut und noch klar.

Leider ergibt sich jetzt folgendes Problem:

Die angezeigten Datensätze werden leider in einer Wurst angezeigt.
Versuche ich die die Ausgabe in eine Html-Vorlage hineinzuzwängen, wird mir nur mehr der letzte Datensatz angezeigt.

Wie erreiche ich, daß nur 3 Datensätze in einer Reihe angezeigt werden und wenn´s mehr als 3 Datensätze sind, dann entsprechend mehr Reihen zeigt?

Sollte ich hier jemanden mit meiner Frage auf den Schlips treten, tut´s mir leid, hab leider nicht sehr viel Erfahrung mit programmieren.

Im Anschluß hab ich den php-Code meiner Ergebnisseite.

Vielen Dank bereits im voraus

lg

EDIT: Sorry, hab gerade gesehen, daß mein Beitrag besser bei HTML, JavaScript, AJAX und CSS aufgehoben wäre. Bitte verschieben -->Danke



<table width="250" height="150" border="8">
<tr>
<td>
<div align="center">
<?php
$db = mysql_connect('localhost', 'root', '');
$sqlab = "select ID, InvNr, Bild, ALeg, RLeg from sear"; // Spalten die Angezeigt werden
if($Rubrik)
$sqlab .= " where Rubrik like '$Rubrik' ";
else if ($Kais)
$sqlab .= " where Kais like '$Kais' ";
else if ($Nom)
$sqlab .= " where Nom like '$Nom' ";
else if ($ALeg)
$sqlab .= " where ALeg like '$ALeg' ";
else if ($RLeg)
$sqlab .= " where RLeg like '$RLeg' ";

$res = mysql_db_query("ptole", $sqlab);
$num = mysql_num_rows($res);

if ($num==0)
echo "keine passenden Datensätze gefunden";

for ($i=0; $i<$num; $i++)
{
$InvNr = mysql_result($res, $i, "InvNr");
$ALeg = mysql_result($res, $i, "ALeg");
$RLeg = mysql_result($res, $i, "RLeg");
$Bild = mysql_result($res, $i, "Bild");
echo '<td><p align="center"><a href="' . $ID . '" target="_blank"><img src="' . $Bild . '" width="223" height="112"></a><br>';
echo "<strong>$ALeg</strong><br>";
echo "<strong>$RLeg</strong><br>";
echo "$InvNr<br></td></p>";

}
mysql_close($db);

?>
</div>
</td>
</tr>
Einträge gefunden:<strong> <? echo $num;?></strong><br><a href="search.php">zurück zur Suche</a></p>
</table>

 
combie
11-12-2008, 13:04 
 
Tipp:
Ersetze die for durch eine while Schleife. Und im Zuge dessen, verwende mysql_fetch_array()
Dann kannst du mysql_result() verzichten.

Dein Problem sollte sich damit in Luft auflösen und dein Code um min 30% schrumpfen.

 
Ptolemaios
11-12-2008, 16:26 
 
Danke für Deine Hilfe.

Ich habe es auch mittels Google probiert die while Schleife korrekt einzubauen, leider will es mir nicht gelingen.
Kannst Du mir bitte nochmals einen Stoß in die richtige Richtung geben?

Danke

 
Ptolemaios
12-12-2008, 16:22 
 
Hab´s jetzt geschafft. Ich hab ganz einfach nachfolgendes eingebaut

Danke nochmal

if ($i % 3 == 0)
echo "<tr>";

usw usw usw


Ich laß mir jetzt die Tabelle, in der die Ergebnisse stehen, 3x ausgeben.

:D :D :D

 
rossixx
15-12-2008, 17:02 
 
echo "<br><table border=1><tr>";

$sql = "SELECT * FROM table";

if($rs=mysql_query($sql,$dbp)){
$felderanzahl=mysql_num_fields($rs);
for($i=0;$i<$felderanzahl;$i++){
$feldname=mysql_field_name($rs,$i);
echo "<td><b>$feldname<b></td>";
}
echo "</tr>";
while($row=mysql_fetch_row($rs)){
for($i=0;$i<$felderanzahl;$i++){
echo "<td>$row[$i]</td>";
}
echo "</tr>";
}
}
echo "</table>";


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:11 Uhr.