max. tabelbreedte en product op 1 rij of meer rijen
Maximale tabelbreedte van 760 pixels (website breedte) hierin zit bijvoorbeeld 4 tabellen van 176 pixels breed. In deze tabellen worden producten uit een database getoond. In dit voorbeeld passen er 4 producten op 1 rij. Nu worden er producten aan de database toegevoegd en nu zijn er i.p.v. 4 producten 6 producten die getoond moeten worden.
Nu wil ik graag dat deze weer onder de 4 andere producten getoond worden. Je krijgt dus op de eerste rij de 4 producten en 1 rij eronder de 2 nieuwe toegevoegde producten.
Nu is mijn vraag, hoe kan ik er het eenvoudigst voor zorgen dat hij de maximale aan producten op 1 rij telt en dat hij daaronder automatische een nieuwe rij met tabellen aanmaakt? Voor alle duidelijkheid, deze producten komen uit een mysql-database.
Ik hoop zo dat iemand mij met dit probleem kan helpen. IK heb het volgende script al eerder verkregen maar hierbij krijg ik steeds een foutmelding: Parse error: parse error, unexpected '}'
Code (php)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?PHP
$num_cols = 4; // Aantal kolommen
$limit = 0; // 0 is onbeperkt aantal artikelen die geshowd worden
$sql = "SELECT * FROM `products` ORDER BY `prid`"; // FF veranderen in eigen
if (!empty ($limit)) {
$sql .= "LIMIT $limit";
}
$res = mysql_query ($sql) or die ("sql: " . $sql . "\n". mysql_error ());
$num_records = mysql_num_rows ($res);
if ($num_records % $num_cols) {
$num_empty_cells = $num_cols - ($num_records % $num_cols);
} else {
$num_empty_cells = 0;
}
$cell_width = round (100 / $num_cols, 0);
$i = 0;
echo '<table width="100%">';//hier zet je de waarde neer van je tabel die je nu hebt.
while ($obj = mysql_fetch_assoc ($res)) {
echo "\n";
if ($i % $num_cols == 0) {
echo '<tr>';
}
//vanaf hier komt je html stukje, de hoofdtabel moet je niet meer hier zetten die staat al hierboven
echo '<td>
<td>';
// De tabel hieronder laat de producten zien hieronder mag verandert worden
echo '<table width="' . $cell_width . '%"><tr>
<td><img name="'.$obj['product'].'" src="'.urldecode($obj['plaatje']).'" width="150" height="150" alt=""></td>
</tr>
<tr>
<td>' . $obj['product'] . '</td>
</tr>
<tr>
<td>€ ' . $obj['prijs'] . '</td>
</tr></table>';
// Hieronder afblijven !!
echo '</td>';
if (($i % $num_cols) == ($num_cols - 1)) {
echo '</tr>';
}
$i++;
}
if ($num_empty_cells) {
for ($i = 0; $i < $num_empty_cells; $i++) {
echo '<td> </td>';
}
echo '</tr>';
}
echo '</table>';
}
?>
$num_cols = 4; // Aantal kolommen
$limit = 0; // 0 is onbeperkt aantal artikelen die geshowd worden
$sql = "SELECT * FROM `products` ORDER BY `prid`"; // FF veranderen in eigen
if (!empty ($limit)) {
$sql .= "LIMIT $limit";
}
$res = mysql_query ($sql) or die ("sql: " . $sql . "\n". mysql_error ());
$num_records = mysql_num_rows ($res);
if ($num_records % $num_cols) {
$num_empty_cells = $num_cols - ($num_records % $num_cols);
} else {
$num_empty_cells = 0;
}
$cell_width = round (100 / $num_cols, 0);
$i = 0;
echo '<table width="100%">';//hier zet je de waarde neer van je tabel die je nu hebt.
while ($obj = mysql_fetch_assoc ($res)) {
echo "\n";
if ($i % $num_cols == 0) {
echo '<tr>';
}
//vanaf hier komt je html stukje, de hoofdtabel moet je niet meer hier zetten die staat al hierboven
echo '<td>
<td>';
// De tabel hieronder laat de producten zien hieronder mag verandert worden
echo '<table width="' . $cell_width . '%"><tr>
<td><img name="'.$obj['product'].'" src="'.urldecode($obj['plaatje']).'" width="150" height="150" alt=""></td>
</tr>
<tr>
<td>' . $obj['product'] . '</td>
</tr>
<tr>
<td>€ ' . $obj['prijs'] . '</td>
</tr></table>';
// Hieronder afblijven !!
echo '</td>';
if (($i % $num_cols) == ($num_cols - 1)) {
echo '</tr>';
}
$i++;
}
if ($num_empty_cells) {
for ($i = 0; $i < $num_empty_cells; $i++) {
echo '<td> </td>';
}
echo '</tr>';
}
echo '</table>';
}
?>
thanxs,
Freakme
Effies deze } tellen want de kans is groot dat je ergens eentje mist.
Tip: gebruik een editor (er zijn zelfs hele goede gratis exemplaren waar onder Crimson) die dit als paar en op kleurcode aangeeft...
bijv:
if ($var == $waarde
{
}
zal je een unexpected { krijgen omdat hij eerst een ) verwacht om de if te sluiten.
Ergo een unexpected moet je altijd terug zoeken
Ik begrijp dat ik ergens wel eentje ontbreekt, maar ik weet precies hoeveel er en waar ze echt moeten komen te staan. Ik ben beginnende php-er.
Greetings,
Freakme
Heb het getracht proberen te checken maar helaas ik kom er echt niet uit, ik loop vast. Dit komt vast omdat ik een beginnende php-er ben.
Heeft iemand a.u.b. nog een andere oplossing?
Greetings,
Freakme
Zo te zien kan op de laatste regel de } weggehaald.
@ Freakme : geeft niets hoor dat je een beginnende PHP'er bent want dat ben ik ook ooit is geweest. Door veel te vragen en frequent hier bij deze community te komen en ook toppics van andere leden te lezen en proberen op te lossen leer ik elke keer weer wat meer.
PHP leren is door vooral te doen en vooral veel fouten te maken en mogelijk hiervan ook te leren.
Bovenal ook niet vergeten er van te genieten wanneer wel wat lukt !!
Suc6 met alles enne..... is dit gelukt?
Ik werk met dreamweaver en zodra ik een nieuwe recordset aanmaak werkt hte script niet meer. En krijg ik een andere foutmelding. In dreamweaver kun je namelijk eenvoudig een recordset aanmaken (dit is op dit moment voor mij het beste).
Dus situtatie als volgt, database heeft meerdere tabllen waarvan er 1 is hoofdpunten en waarvan er ook 1 is met product. De product tabel is net oz belangrijk als de hoofdpunten tabel.
Het script werkt wel als ik alleen de recordset aanmaak van de hoofpunten tabel, maak ik nog een recordset aan voor de product, dan gaat het fout in samenwerking met het max. breedte script.
1e voorbeeld waar het spreekt geen probleem heeft
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$colname_conn = "1";
if (isset($_GET['id'])) {
$colname_conn = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_conn, $conn);
$query_conn = sprintf("SELECT * FROM hoofdpunten WHERE id = %s", $colname_conn);
$conn = mysql_query($query_conn, $conn) or die(mysql_error());
$row_conn = mysql_fetch_assoc($conn);
$totalRows_conn = mysql_num_rows($conn);
?>
$colname_conn = "1";
if (isset($_GET['id'])) {
$colname_conn = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_conn, $conn);
$query_conn = sprintf("SELECT * FROM hoofdpunten WHERE id = %s", $colname_conn);
$conn = mysql_query($query_conn, $conn) or die(mysql_error());
$row_conn = mysql_fetch_assoc($conn);
$totalRows_conn = mysql_num_rows($conn);
?>
2e voorbeeld waar het script problemen krijgt met het andere script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$colname_conn = "1";
if (isset($_GET['id'])) {
$colname_conn = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_conn, $conn);
$query_conn = sprintf("SELECT * FROM hoofdpunten WHERE id = %s", $colname_conn);
$conn = mysql_query($query_conn, $conn) or die(mysql_error());
$row_conn = mysql_fetch_assoc($conn);
$totalRows_conn = mysql_num_rows($conn);
$colname_Recordset1 = "1";
if (isset($_GET['id'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_conn, $conn);
$query_Recordset1 = sprintf("SELECT * FROM product WHERE id = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
$colname_conn = "1";
if (isset($_GET['id'])) {
$colname_conn = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_conn, $conn);
$query_conn = sprintf("SELECT * FROM hoofdpunten WHERE id = %s", $colname_conn);
$conn = mysql_query($query_conn, $conn) or die(mysql_error());
$row_conn = mysql_fetch_assoc($conn);
$totalRows_conn = mysql_num_rows($conn);
$colname_Recordset1 = "1";
if (isset($_GET['id'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_conn, $conn);
$query_Recordset1 = sprintf("SELECT * FROM product WHERE id = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
foutmelding:
Warning: mysql_select_db(): supplied resource is not a valid MySQL-Link resource in line 17
Warning: mysql_query(): supplied resource is not a valid MySQL-Link resource in line 19
Waarom ....waarom geeft hij deze nu weer. Bedankt voor alle tijd en begrip van jullie!!
Klasse ik hoor graag een oplosssing...
Greetings,
Freakme
werkt nu .....in ieder geval bedankt ....deze topic kan geclosed worden.
Greetings,
Freakme