hoe data in kolommen naast elkaar tonen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert Jansen

Robert Jansen

17/07/2017 19:12:23
Quote Anchor link
hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>";
?>
Gewijzigd op 17/07/2017 19:38:43 door - Ariën -
 
PHP hulp

PHP hulp

09/12/2024 01:07:45
 
- Ariën  -
Beheerder

- Ariën -

17/07/2017 19:41:05
Quote Anchor link
Waarom twee while-loops?
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.
 
Robert Jansen

Robert Jansen

17/07/2017 20:15:15
Quote Anchor link
ok, maar als je de twee kolommen niet kunt koppelen hoe kun je dit dan oplossen?
 
- Ariën  -
Beheerder

- Ariën -

17/07/2017 20:19:06
Quote Anchor link
Ik begrijp dat je dus een tabel hebt met de namen van de redactieleden, en een tabel met de foto's.
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.
 
Robert Jansen

Robert Jansen

17/07/2017 20:41:14
Quote Anchor link
Als er 4 redactieleden zijn en ik maak 4 textareas waar de redactieleden hun commentaar in kunnen typen.
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?
 
Ben van Velzen

Ben van Velzen

17/07/2017 20:51:19
Quote Anchor link
In theorie wel, in de praktijk is het ontzettend dom om dat zo te doen. Normaliseren is ook hier de sleutel tot succes.
 
- Ariën  -
Beheerder

- Ariën -

17/07/2017 20:51:30
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.