Toon posts:

php - maximale weergaven per rij

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi,

Ik heb een probleem. Ik heb een shop gemaakt in php en de volgende script weergeeft de producten uit een bepaalde catagorie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<? 


include "mode.php"; 
include "header.inc"; 

$query = mysql_query("SELECT * FROM product WHERE sid='$sid'"); 


?><style type="text/css"> 
<!-- 
body { 
   background-color: #FFDFE7; 
} 
--> 
</style> 
<table border="0"> 
<tr> 


<? 
while ($row = mysql_fetch_row($query)) { 

   if ($row[6] == "none") { 
      $img = "[img]\"images/na.jpg\"[/img]"; 
   } else { 
      $split = explode("../", $row[6]); 
      $row[6] = $split[1]; 
      $img = "[img]\"$row[6]\"[/img]"; 
   } 
   echo "</tr><tr>"; 
   echo "<td class=\"standard\" align=\"center\"><a href=\"detail.php?id=$row[0]\" class=\"standard\">$img</a></td>"; 
   echo "</tr><tr>"; 
   echo "<td class=\"standard\" align=\"center\"> << <a href=\"detail.php?id=$row[0]\" class=\"standard\" >$row[3]</a> >> </td>"; 
} 



?> 
</tr> 
</table>


Maar nu wil ik dat het systeem 2 producten naast elkaar weergeeft, maar dat krijg ik maar niet goed voor elkaar. Het is me wel gelukt met scriptjes die directory met afbeeldingen uitleest en 2 afbeeldingen naast elkaar plakt maar hiermee krijg ik het niet voor elkaar.

Ik hoop dat iemand mij kan helpen!!
Met vriendelijke groeten,
Sebastiaan

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 08-05 11:55

mulder

ik spuug op het trottoir

Ik zou het eerst eens in puur HTML proberen, sterker nog ik zou eens proberen puur HTML te gebruiken...

Een tr is een row en een td is een cell.. cellen zitten naast elkaar in een row

oogjes open, snaveltjes dicht


  • samo
  • Registratie: Juni 2003
  • Laatst online: 08-05 13:14

samo

yo/wassup

Misschien kan je iets meer uitleg geven over wat nou precies de bedoeling is. Wat doet het bovenvermelde script wel, en dus fout? Moeten er 2 plaatjes in 1 <td>, of moeten er 2 <td>'s in 1 <tr>?

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 18:23
Als je de link naar de details in dezelfde cel zet is het heel eenvoudig. Een <label> lijkt me erg geschikt, maar je kunt ook gewoon een <span> gebruiken. Bepalen of er een nieuwe rij ingevoegd moet worden kan eenvoudig met:
PHP:
1
2
$newRow = (!$newRow);
if ($newRow) { echo "</tr><tr>";  }

Regeren is vooruitschuiven


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op maandag 18 april 2005 @ 12:10:
Hoi,
Maar nu wil ik dat het systeem 2 producten naast elkaar weergeeft, maar dat krijg ik maar niet goed voor elkaar. Het is me wel gelukt met scriptjes die directory met afbeeldingen uitleest en 2 afbeeldingen naast elkaar plakt maar hiermee krijg ik het niet voor elkaar.

Ik hoop dat iemand mij kan helpen!!
Met vriendelijke groeten,
Sebastiaan
Wat heb je dan al zelf geprobeerd? Wat lukte daar niet mee? Kreeg je foutmeldingen? Zie ook P&W FAQ - De "quickstart"

Daarnaast hoef je je naam niet onder je posts te zetten want je nick staat al naast je post :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Oke ik heb hem nu aangepast dat hij het in dezelfde cel weergeeft:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?


include "mode.php";
include "header.inc";

$query = mysql_query("SELECT * FROM product WHERE sid='$sid'");


?><style type="text/css">
<!--
body {
    background-color: #FFDFE7;
}
-->
</style>
<table border="0">
<?php 
while ($row = mysql_fetch_row($query)) {

    if ($row[6] == "none") {
        $img = "[img]\"images/na.jpg\"[/img]";
    } else {
        $split = explode("../", $row[6]);
        $row[6] = $split[1];
        $img = "[img]\"$row[6]\"[/img]";
    }
echo "</tr><tr>";
echo "<td class=\"standard\" align=\"center\"><a href=\"detail.php?id=$row[0]\" class=\"standard\">$img</a>";
echo "<br> << <a href=\"detail.php?id=$row[0]\" class=\"standard\" >$row[3]</a> >></td>";


}
  
?>
</table>


Maar nu lukt het mij niet dat er we pas een </tr><tr> inzet als er 2 naast elkaar staan.

Ik hoop dat iemand mij verder kan helpen.

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 08-05 07:49

TwoR

Gekleurde stippen

boven je while:
$counter =0;

Net boven je echo "</tr><tr>";
PHP:
1
2
3
4
$counter++;
if($counter == 2){
  echo "</tr><tr>";
}

en dan wel even kijken dat je niet met een open <tr> je tabel afsluit.

[ Voor 56% gewijzigd door TwoR op 18-04-2005 14:08 ]


  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 15-01 21:24
TwoR schreef op maandag 18 april 2005 @ 14:07:
boven je while:
$counter =0;

Net boven je echo "</tr><tr>";
PHP:
1
2
3
4
$counter++;
if($counter == 2){
  echo "</tr><tr>";
}

en dan wel even kijken dat je niet met een open <tr> je tabel afsluit.
Zou je daar niet
PHP:
1
if( $counter % 2 == 0 ){
van maken?

Proud member of TCF - D2OL is zooooo 2005


Verwijderd

Topicstarter
Het is gelukt :D hartelijk dank allemaal

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Hmmja.. een beetje jammer. Je wordt nu wel heel erg bij het handje gehouden bij het komen tot een oplossing. Iets wat opzich niet heel erg is, maar dit is wel redelijk basiskennis van PHP en HTML te noemen. Iets waarvan we verwachten dat je zoiets zelf onder de knie krijgt. Op mijn vraag wat je nu precies zelf had geprobeerd komt ook geen echt antwoord.

Dus iIk vraag je nogmaals om P&W FAQ - De "quickstart" eens door te lezen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.