DB auslesen horizontal anzeigen und nach 3 einträgen umbruch

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

DB auslesen horizontal anzeigen und nach 3 einträgen umbruch

Beitrag von Nosferatu_v »

Hallo,
ich hab eine funktion gemacht wo er horizontal anzeigt und nach 3 einträgen nen umbruch macht. jedoch wenn ich es mit db verbinde und einträge auslöse geht es nicht entweder nur unter einander oder es wird nur ein eintrag angezeigt

Code: Alles auswählen

function printDataHorizontal($data, $col, $id) 
    { 
       $count = count($data); 

       $tdWidth = round(100/$col); 
        
       echo "<table>\n"; 

       for ($i = 0; $i < $count; $i+=$col) 
       { 
           echo "  <tr>\n"; 

           for($j = 0; $j < $col; $j++) 
           { 
              if ($i+$j < $count) 
                $s = $data[$i+$j]; 
              else 
                $s = "&nbsp;"; 

              echo "    <td width=\"$tdWidth%\"><a href=\"sites.php?lan=$lan&zn=13&bp=$id\">$s</a></td>\n"; 
           } 

           echo "  </tr>\n"; 
       } 
       echo "</table>\n"; 
    } 

$sql = "SELECT * FROM pjfpicsys WHERE kid = '$b' ORDER BY ID DESC";
$result = mysql_query($sql,$mysql);

	if(mysql_num_rows($result))
{

while($row=mysql_fetch_array($result)) {

$link = $row[link];
$id = $row[ID];

$ar = array($link); 
//echo "$ar";

    $col = 3; 
   
}
printDataHorizontal($ar, $col, $id); 
}
also das $link soll neben einander angezeigt werden und nach 3 einträgen ein umbruch gemacht werden :(

bitte um hilfe wär sehr dringend
danke
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Beitrag von Nosferatu_v »

das es nicht geht liegt glaub ich daran das bei
$ar = array($link);

nicht getrennt wird oder?

also link, link2, link3

ich weiß leider nicht wie ich das machen soll :oops:
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

lasse $i hochzählen bei $i == 3 lasse einen umbruch ausgeben.
Dannach setzt du $i wieder auf 0.
Der Rest nur ganz normal ohne andere Umbrüche einzumachen.

Den bei dir versteh ich nicht mal wann er einen Umbruch machen soll.
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Beitrag von Nosferatu_v »

:( könntest du mir das genauer erklären bitte was ich da machen solle bzw wie das geht

soll ich einfach bei $i == 0; auf 3 ändern und dann ?


das mit der horizontalen anzeige hab ich aus dem internet :( weiß mir da auch nicht so recht zu helfen damit

glaube hier wird ihm das gesagt mit dem umbruch for($j = 0; $j < $col; $j++)
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

*brrr*

Es liegt in der Tat an der von dir (Nosferatu_v) zensierten Zeile:

Code: Alles auswählen

while ($row = mysql_fetch_array($result))
{
  $ar[] = $row;
}
Der von dir geschriebene Code hat ein Array mit einem Element erstellt, das bei jedem neuen Eintrag wieder überschrieben wurde. :wink:

In der Funktion müsstest du dann noch das:

Code: Alles auswählen

              if ($i+$j < $count)
                $s = $data[$i+$j];
              else
                $s = "&nbsp;";

              echo "    <td width=\"$tdWidth%\"><a href=\"sites.php?lan=$lan&zn=13&bp=$id\">$s</a></td>\n";
ersetzen durch das:

Code: Alles auswählen

				$sum = $i + $j;
				if ($sum < $count)
				{
					$s = $data[$sum]['link'];
					$id = $data[$sum]['id'];
					echo "    <td width=\"$tdWidth%\"><a href=\"sites.php?lan=$lan&zn=13&bp=$id\">$s</a></td>\n";
				}
				else
				{
					$row = "<td width=\"$tdWidth%\">&nbsp;</td>\n";
				}
Dann müsste es normal laufen.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Beitrag von Nosferatu_v »

vielen dank :P funktioniert wunderbar danke
Antworten

Zurück zu „Coding & Technik“