records met dezelfde waarde in EEN rij

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.260
Hoi,

Ik heb volgende als voorbeeldje ingekorte table:

+----+--------------+
| id | datum --- |
+----+--------------+
| 1 | 2015-02-05 --|
| 2 | 2015-02-10-- |
| 3 | 2015-02-10 --|
| 4 | 2015-02-12 --|
+----+--------------+

Dit geeft in een rij:

2015-02-05
----------------
2015-02-10
-----------------
2015-02-10
--------------------
2015-02-12
--------------------

Wat ik zou willen is dezelfde datums in EEN rij, is dit mogelijk? al veel gelezen maar niet de oplossing gevonden.
Het dient als een soort kalendertje en wil dezelfde datums bij elkaar.

2015-02-05
----------------
2015-02-10
2015-02-10

--------------------
2015-02-12
--------------------


PHP:
<?php 
$result= $mysqli->query("SELECT * 
FROM `gelijke_datums` 
order by datum");
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
    }?>


 <?php while ($row = $result->fetch_array())
                 {                                
                $id = stripslashes($row['id']);                
                $datum = stripslashes($row['datum']);
                $activiteit = ($row['activiteit']);        
           ?>


 <p> <span><?php echo $datum ?></span> <a href="#<?php echo $id ?>" >
 <?php echo $activiteit ?></a> </p>
    <hr>
    <?php } ?>
 
Laatst bewerkt:
Ik zou een variabele bijhouden met de datum die hij als laatste heeft gehad, vervolgens vergelijken met die van de huidige rij en op dat moment een <hr> weergeven.

Voorbeeld:
PHP:
<?php
$prevDate = null;
while ($row = $result->fetch_array()) {
    $id = stripslashes($row['id']);
    $datum = stripslashes($row['datum']);
    $activiteit = $row['activiteit'];
?>
    <p>
        <span><?= $datum ?></span>
        <a href="#<?= $id ?>"><?= $activiteit ?></a>
    </p>
    <?php if ($prevDate && $prevDate !== $datum) { ?>
    <hr />
    <?php }
    $prevDate = $datum;
}
?>
 
Laatst bewerkt:
Moment had iets over het hoofd gezien..(Je voorbeeldcode)
 
Laatst bewerkt:
Bedankt Tha Devil,

Krijg nou

01 04 2015
02 04 2015
<hr />
02 04 2015
03 04 2015
<hr />
03 04 2015
04 04 2015

Ik weet nog niet waar het aan ligt, nog aan het zoeken
 
Beetje schuiven met de positie denk ik:
PHP:
<?php
$prevDate = null;
while ($row = $result->fetch_array()) {
    $id = stripslashes($row['id']);
    $datum = stripslashes($row['datum']);
    $activiteit = $row['activiteit'];
    if ($prevDate && $prevDate !== $datum) { ?>
    <hr />
    <?php }
    <p>
        <span><?= $datum ?></span>
        <a href="#<?= $id ?>"><?= $activiteit ?></a>
    </p>
    <?php $prevDate = $datum; ?>
}
?>
 
Mooi , nou is het goed!

Nou heb ik:

----------------------
woensdag 1 april
tekst A
woensdag 1 april
tekst B
----------------------
donderdag 2 april
tekst A
donderdag 2 april
tekst B
----------------------

Is er misschien nog een mogelijk , om de datum EEN keer in een rij te tonen, dus:

----------------------
woensdag 1 april
tekst A
tekst B
----------------------
donderdag 2 april
tekst A
tekst B
----------------------

of bij 3 als voorbeeld:
----------------------
woensdag 1 april
tekst A
tekst B
tekst C
----------------------
donderdag 2 april
tekst A
tekst B
tekst C
----------------------
 
zo bedoel je:

PHP:
<?php
$prevDate = null;
while ($row = $result->fetch_array()) {
    $id = stripslashes($row['id']);
    $datum = stripslashes($row['datum']);
    $activiteit = $row['activiteit'];?>
	
	<?php if($prevDate == $datum): ?>
		<a href="#<?= $id ?>"><?= $activiteit ?></a>
	<?php else:?>
		<hr />
		<span><?= $datum ?></span>
                <a href="#<?= $id ?>"><?= $activiteit ?></a>
	<?php endif;?>
	
	<?php $prevDate = $datum;?>
	
<?php } ?>
 
Laatst bewerkt:
Bedankt, ja dat bedoelde ik dus

Probeer nu de datum en de tekst (o.a uitvoer $activiteit) in EEN div te krijgen, maar valt niet mee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan