 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
29.04.2004, 12:14
|
#1
|
|
TP-Supporter
Registriert seit: Sep 2002
Ort: Zürich
|
Datensätze nebeneinander ausgeben
Hallo zusammen
Folgendes Problem! Datensätze aus einer DB sollen dargestellt werden. Bei den Datensätzen handelt es sich um Adressen. Soweit sogut! Die ausgsgabe erfolgt nun so:
Testfirma1
Teststrasse1
PLZ Teststadt1
Testfirma2
Teststrasse2
PLZ Teststadt2
Testfirma n
Teststrasse n
PLZ Teststadt n
Soweit habe ich das alles! Nun möchte ich aber das ganze so ausgeben das immer 2 Datensätze nebeneinander stehen!
Also so:
Testfirma1 Testfirma 2
Teststrasse1 Teststrasse 2
PLZ Teststadt1 PLZ Teststadt 2
Wie stelle ich das am besten an?
Gruss: Spin
|
|
|
29.04.2004, 12:31
|
#2
|
|
TP-Specialist
Registriert seit: Oct 2002
Ort: Übach-Palenberg
|
Wenn du das mit Tabellen machst, kannst du einfach nen kleinen Counter einbauen. einfach in ner schleife ne variable hochlaufen lassen von 1 bis 2. wenn dann 2 erreicht ist die variable resetten und nen neuen <tr></tr> beginnen...
__________________
Grüße aus Übach-Palenberg
Tim
WEB.ASSISTANTS IT-SOLUTIONS
www.web-assistants.de
Hängt das doch mal an eine beliebige PHP-Datei: ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
|
|
|
29.04.2004, 12:34
|
#3
|
|
TP-Supporter
Registriert seit: Sep 2002
Ort: Zürich
|
Datensätze nebeneinander ausgeben
Ich kreigs einfach nicht hin! Sorry ist irgendwie nicht mein Tag!
Kannst du mir vielleicht einen kleinen Denkanstoss geben?
Folgenden Code habe ich:
PHP-Code:
// data output v2
print "<table width=200 border=0 cellspacing=0 cellpadding=1>";
while ($row_content = mysql_fetch_array($result)){
$actualrow++;
if((($actualrow % 2) == 0)) { // row is an even number
$class = $class1;
} else { // row is an odd number
$class = $class2;
}
$webseite = makehp ($row_content[Webseite]); // call function to correct url
$email = '<a href="mailto:' . $row_content[EMail3Adresse] . '">' . $row_content[EMail3Adresse] . '</a>'; // create mailto email link
print ("
<tr>
<td bgcolor=333333 colspan=2 nowrap><font color=$classtitle><b>$row_content[Firma]</b></font></td>
</tr><tr>
<td class=$class colspan=2>$row_content[Straßegeschäftlich]</td>
<tr>
<td class=$class widht=1% nowrap>$row_content[Postleitzahlgeschäftlich]</td>
<td class=$class nowrap>$row_content[Ortgeschäftlich]</td>
</tr><tr>
<td class=$class colspan=2 nowrap>$row_content[Landgeschäftlich]</td>
</tr><tr>
<td class=$class nowrap>tel: </td><td class=$class nowrap>$row_content[Telefongeschäftlich]</td>
</tr><tr>
<td class=$class nowrap>fax: </td><td class=$class nowrap>$row_content[Faxgeschäftlich]</td>
</tr><tr>
<td class=$class nowrap>email: </td><td class=$class nowrap>$email</td>
</tr><tr>
<td class=$class nowrap>web: </td><td class=$class nowrap>$webseite</td>
</tr><tr>
<td colspan=2 nowrap> </td>
</tr>");
}
print ("</table>");
Gruss: Spin
|
|
|
29.04.2004, 19:47
|
#4
|
|
Guest
Registriert seit: Aug 2002
|
Ich habe mal vor paar Wochen sowas geschrieben, gelöst habe ich es einfach mit einem "einfachen" Array an Datensätzen (2D).
Hier ein Beispiel meiner Theorie:
PHP-Code:
<TABLE>
<?PHP
$array = array(array('1', '1', '1'), array('2', '2', '2'), array('3', '3', '3'), array('4', '4', '4'), array('5', '5', '5'));
for ($i = 0; $i < sizeof($array); $i += 2)
{
if (($i % 2) == 0) echo "<tr>";
echo "<td>".$array[$i][0]." mit ".$array[$i][1]."</td>";
if (!empty($array[$i + 1])) echo "<td>".$array[$i + 1][0]." mit ".$array[$i + 1][1]."</td>";
if (($i % 2) == 0) echo "</tr>";
}
?>
</TABLE>
Denkfehler, den du vielleicht hast ist einfach die Tatsache, daß man so eine Art von Ausgabe nicht "live" erzeugen kann (mit mysql_fetch... - das gibt ja nur einen Datensatz aus) du müsstest also an viele Stellen in der HTML-Ausgabe zurückgehen. Erstell' einfach eine Beispieltabelle in reinem HTML, dann begreifst du was ich meine.
Noch was: um das Array so zu erzeugen wie ich es in meinem Beispiel habe, kannst du die Datensätze aus der DB einfach per Schleife auslesen und in dein Array einfügen:
PHP-Code:
$i = 0;
$array = array(array());
while ($row_content = mysql_fetch_array($result)) { $array[$i] = $row_content; ++$i; }
// Danach kannst du meinen Code anwenden.
|
|
|
30.04.2004, 15:39
|
#5
|
|
TP-Supporter
Registriert seit: Sep 2002
Ort: Zürich
|
Datensätze nebeneinander ausgeben
Hallo zusammen
Ich schnalls einfach nicht! Strogij dein Ding funktioniert schon irgendwie aber ich kanns nicht vernünftig mit Daten füllen!
Habe einen mehga hänger! Kann vielleicht mir nochmals schnell einen Gedankenstoss geben?
Gruss: Spin
|
|
|
30.04.2004, 15:47
|
#6
|
|
TP-Supporter
Registriert seit: Jun 2003
Ort: Fürth
|
PHP-Code:
$query = "SELECT * FROM tabelle ORDER BY irgendwas DESC";
$result = mysql_query($query);
$i=0; // Hilfsvariable auf 0 setzen
echo "<tr>"; // erstmal ne Zeile beginnen
while ($line = mysql_fetch_array($result))
{
echo (“<td width="210"><b> $line[name] </b></td>”);
$i++; // Hilfsvariable um eins erhöhen
if ($i % 2 == 0) { // wenn die Hilfsvariable gerade (also durch zwei teilbar ist)
echo "</tr><tr>"; // dann neue Zeile
}
}
echo "</tr>"; //letzte Zeile abschliessen
mysql_free_result($result);
__________________
Die perfekte Web-Applikation ist: sicher,skalierbar,schnell, anwenderfreundlich,intuitiv, wiederverwendbar,flexibel,transparent,umfassend,dynamisch, zuverlässig,einfach,modular,effizient, stabil,handhabbar,verteilt,robust, persistent,kollaborativ,mächtig,intelligent,leicht verwendbar,portierbar,erweiterbar,
fehlerfrei, und zu guter Letzt billig
|
|
|
30.04.2004, 16:12
|
#7
|
|
TP-Supporter
Registriert seit: Sep 2002
Ort: Zürich
|
Datensätze nebeneinander ausgeben
Leute Leute
Bin wahrscheinlich zu doof für sowas!
Ich brings nicht!
Gruss: Spin
|
|
|
30.04.2004, 17:07
|
#8
|
|
Guest
Registriert seit: Aug 2002
|
Der Code von CB sieht noch verständlicher aus als meiner, da brauchst nicht viel ändern:
PHP-Code:
$query = "SELECT * FROM tabelle ORDER BY irgendwas DESC";
$result = mysql_query($query);
$i=0; // Hilfsvariable auf 0 setzen
echo "<tr>"; // erstmal ne Zeile beginnen
while ($row_content = mysql_fetch_array($result))
{
print ("
<td bgcolor=333333 colspan=2 nowrap><font color=$classtitle><b>$row_content[Firma]</b></font></td>
<td class=$class colspan=2>$row_content[Straßegeschäftlich]</td>
<td class=$class widht=1% nowrap>$row_content[Postleitzahlgeschäftlich]</td>
<td class=$class nowrap>$row_content[Ortgeschäftlich]</td>
<td class=$class colspan=2 nowrap>$row_content[Landgeschäftlich]</td>
<td class=$class nowrap>tel: </td><td class=$class nowrap>$row_content[Telefongeschäftlich]</td>
<td class=$class nowrap>fax: </td><td class=$class nowrap>$row_content[Faxgeschäftlich]</td>
<td class=$class nowrap>email: </td><td class=$class nowrap>$email</td>
<td class=$class nowrap>web: </td><td class=$class nowrap>$webseite</td>
<td colspan=2 nowrap> </td>
");
}
$i++; // Hilfsvariable um eins erhöhen
if ($i % 2 == 0) { // wenn die Hilfsvariable gerade (also durch zwei teilbar ist)
echo "</tr><tr>"; // dann neue Zeile
}
}
echo "</tr>"; //letzte Zeile abschliessen
mysql_free_result($result);
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:26 Uhr.
|
 |