hoe data in kolommen naast elkaar tonen
Ik heb code geschreven met twee while loops. De bedoeling is dat 1 while loop de data naast elkaar laat zien ($sql), op dit moment laat hij de data wel naast elkaar zien maar dan alleen de eerste record uit de database, dit zijn vier records.
mijn vraag is: hoe kun je gegevens naast elkaar laten zien met twee while loops?
alvast bedankt.
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
64
65
66
67
68
69
70
71
72
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
64
65
66
67
68
69
70
71
72
<?php
$teller = 0;
$naast_elkaar = 4;
$query = "SELECT * FROM tblfoto ";
$sql = "SELECT voornaam FROM tblredactie ";
$result = mysqli_query($dbcon, $query) or die(mysqli_error());
$row = mysqli_query($dbcon, $sql) or die(mysqli_error());
echo "<table border='1'>";
echo "<tr>";
while ($ehv = mysqli_fetch_assoc($row)) {
while ($record = mysqli_fetch_assoc($result)) {
$id = $record['id'];
$lid1 = $record['comm1'];
$lid2 = $record['comm2'];
$thumb = $record['img_thumb'];
$imgorg = $record['img_org'];
$titel = $record ['titel'];
$redactielid = $ehv['voornaam'];
echo "<th></th>";
echo "<th> $titel </th>";
echo "<th> </th>";
echo "<th></th>";
echo "<th></th>";
echo "</tr>";
echo "<tr>";
?>
<!--<tr>-->
<?php echo ($teller % $naast_elkaar) == 0 ? '<tr>' : ''; ?>
<th></th>
<th><?php echo $redactielid ?></th>
<th><?php echo $redactielid; ?></th>
<th><?php echo $redactielid; ?></th>
<th><?php echo $redactielid; ?></th>
<?php $teller++;
echo ($teller % $naast_elkaar) == 0 ? '</tr>' : '';
?>
<!-- </tr>-->
<form action="wijzig.php" id="checkbox" method="POST">
<tr>
<td></td>
<td></td>
</tr>
<td><?php echo '<a id="example1" href="'. $imgorg .'"><img src="'.$thumb.'" alt="thumb"></a>'; ?></td>
<td><textarea name="lid1" ><?php echo $lid1; ?></textarea></td>
<td><textarea name="lid2" ><?php echo $lid2; ?></textarea></td>
<td><input type="submit" value="Update" name="update" />Update</td>
<script>
</script>
</form>
<?php
echo "</tr>";
}}
if(($teller % $naast_elkaar) != 0)
{
for($dummy_count=$teller;($dummy_count % $naast_elkaar) != 0;$dummy_count++)
{
echo '<td> </td>';
}
echo '</tr>';
}
echo "</table>";
?>
$teller = 0;
$naast_elkaar = 4;
$query = "SELECT * FROM tblfoto ";
$sql = "SELECT voornaam FROM tblredactie ";
$result = mysqli_query($dbcon, $query) or die(mysqli_error());
$row = mysqli_query($dbcon, $sql) or die(mysqli_error());
echo "<table border='1'>";
echo "<tr>";
while ($ehv = mysqli_fetch_assoc($row)) {
while ($record = mysqli_fetch_assoc($result)) {
$id = $record['id'];
$lid1 = $record['comm1'];
$lid2 = $record['comm2'];
$thumb = $record['img_thumb'];
$imgorg = $record['img_org'];
$titel = $record ['titel'];
$redactielid = $ehv['voornaam'];
echo "<th></th>";
echo "<th> $titel </th>";
echo "<th> </th>";
echo "<th></th>";
echo "<th></th>";
echo "</tr>";
echo "<tr>";
?>
<!--<tr>-->
<?php echo ($teller % $naast_elkaar) == 0 ? '<tr>' : ''; ?>
<th></th>
<th><?php echo $redactielid ?></th>
<th><?php echo $redactielid; ?></th>
<th><?php echo $redactielid; ?></th>
<th><?php echo $redactielid; ?></th>
<?php $teller++;
echo ($teller % $naast_elkaar) == 0 ? '</tr>' : '';
?>
<!-- </tr>-->
<form action="wijzig.php" id="checkbox" method="POST">
<tr>
<td></td>
<td></td>
</tr>
<td><?php echo '<a id="example1" href="'. $imgorg .'"><img src="'.$thumb.'" alt="thumb"></a>'; ?></td>
<td><textarea name="lid1" ><?php echo $lid1; ?></textarea></td>
<td><textarea name="lid2" ><?php echo $lid2; ?></textarea></td>
<td><input type="submit" value="Update" name="update" />Update</td>
<script>
</script>
</form>
<?php
echo "</tr>";
}}
if(($teller % $naast_elkaar) != 0)
{
for($dummy_count=$teller;($dummy_count % $naast_elkaar) != 0;$dummy_count++)
{
echo '<td> </td>';
}
echo '</tr>';
}
echo "</table>";
?>
Gewijzigd op 17/07/2017 19:38:43 door - Ariën -
Kan je niet met koppelingen en een JOIN dit minimaliseren naar een enkele while-loop?
Verder is het kopiëren van variabelen op lijn 16 t/m 21 behoorlijk overbodig.
ok, maar als je de twee kolommen niet kunt koppelen hoe kun je dit dan oplossen?
Nu is het al frappant dat ik nergens een koppeling zie met welke naam er bij foto wordt getoond, dus het script zou nu op basis van huidige sortering de namen tonen, terwijl dat in werkelijkheid niet klopt.
Ik neem aan dat elke redactielid een eigen unieke ID heeft, en dat elke foto een koppeling met dat ID heeft?
Een LEFT JOIN lijkt mij het beste wat je dan kan doen.
En ik maak in de tabel foto 4 kolommen waar de commentaren in komen van de redactieleden.
Dan hoef je toch alleen de vier namen van de redactieleden te laten zien?
In theorie wel, in de praktijk is het ontzettend dom om dat zo te doen. Normaliseren is ook hier de sleutel tot succes.
Dan heb je die andere tabel dus niet nodig. Maar het is toch netjes als je elk redactielid in een aparte tabel benoemt. Als iemand zijn naam veranderd (huwelijk/scheiding/anonimisatie), verandert dat bij elke foto.