Isset, empty.. besoin d'aide
fabieng_45
Messages postés
89
Statut
Membre
-
Stouffi Messages postés 67 Statut Membre -
Stouffi Messages postés 67 Statut Membre -
Bonjour,
Bonjour,
J ai crée un formulaire permettant à mes employés de choisir leur semaine de vacances.
J'aimerai me créer une pages qui repertori pour chaque semaine, qui va en vacances, et que la semaine ne s affiche que si une personne a pris une semaine de vacances
Or, je n arrive pas a faire que seulement les semaines ou il y a des personnes inscrites s'affiche. Actuellement, j ai toutes les semaines d affichées, qu il y ait qq1 en vacances ou non.
Voici en gros ce que j ai:
Semaine 1:
employé 1
employé 2
employé 3
employé 4
Semaine2
Semaine3
semaine4
employé 4
employé 5
Or j aimerai que seulement s'affiche:
Semaine 1:
employé 1
employé 2
employé 3
employé 4
semaine4
employé 4
employé 5
J ai essayé les f° isset et empty, mais j avous ne pas trop les comprendre...
Voici mon script (pour 1semaine, sans isset, ni empty):
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=vacance', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<p>Voici ce qui a été enregistré: </p>
<p>Semaine n°1 </p>
<table class="planning">
<tr>
<th>Nom</th>
<th>Prénom</th>
<th>semaine</th>
</tr>
<?php
$reponse = $bdd->query('SELECT * FROM planning WHERE semaine=\'01\' )
while ($donnees = $reponse->fetch())
{
?>
<tr><td>
<?php echo $donnees['nom']; ?>
</td>
<td>
<?php echo $donnees['prenom']; ?>
</td>
<td><?php echo $donnees['semaine']; ?>
</td>
<?php }
$reponse->closeCursor();
?>
</tr>
</table>
</br>
Comment dois je faire ???
Merci
Bonjour,
J ai crée un formulaire permettant à mes employés de choisir leur semaine de vacances.
J'aimerai me créer une pages qui repertori pour chaque semaine, qui va en vacances, et que la semaine ne s affiche que si une personne a pris une semaine de vacances
Or, je n arrive pas a faire que seulement les semaines ou il y a des personnes inscrites s'affiche. Actuellement, j ai toutes les semaines d affichées, qu il y ait qq1 en vacances ou non.
Voici en gros ce que j ai:
Semaine 1:
employé 1
employé 2
employé 3
employé 4
Semaine2
Semaine3
semaine4
employé 4
employé 5
Or j aimerai que seulement s'affiche:
Semaine 1:
employé 1
employé 2
employé 3
employé 4
semaine4
employé 4
employé 5
J ai essayé les f° isset et empty, mais j avous ne pas trop les comprendre...
Voici mon script (pour 1semaine, sans isset, ni empty):
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=vacance', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<p>Voici ce qui a été enregistré: </p>
<p>Semaine n°1 </p>
<table class="planning">
<tr>
<th>Nom</th>
<th>Prénom</th>
<th>semaine</th>
</tr>
<?php
$reponse = $bdd->query('SELECT * FROM planning WHERE semaine=\'01\' )
while ($donnees = $reponse->fetch())
{
?>
<tr><td>
<?php echo $donnees['nom']; ?>
</td>
<td>
<?php echo $donnees['prenom']; ?>
</td>
<td><?php echo $donnees['semaine']; ?>
</td>
<?php }
$reponse->closeCursor();
?>
</tr>
</table>
</br>
Comment dois je faire ???
Merci
A voir également:
- Isset, empty.. besoin d'aide
- Remove empty directories - Télécharger - Nettoyage
- Empty folder finder - Télécharger - Bureautique
- If isset post ✓ - Forum PHP
- Super empty - Télécharger - Divers Utilitaires
- Empty Temp Folders - Télécharger - Nettoyage
3 réponses
empty() Détermine si une variable contient une valeur non nulle
isset() Détermine si une variable est affectée
remplace :
par :
En gros je lui dis, Si $donnees['semaine']; n'est pas vide tu la met.
mais ne connaissant pas ta table il se peut que ça fonctionne pas
du coup il est possible de le modifier
isset() Détermine si une variable est affectée
remplace :
<?php echo $donnees['semaine']; ?>
par :
<?php if(!empty($donnees['semaine']))
{
echo $donnees['semaine'];
}
?>
En gros je lui dis, Si $donnees['semaine']; n'est pas vide tu la met.
mais ne connaissant pas ta table il se peut que ça fonctionne pas
du coup il est possible de le modifier
Merci, mais je veux que ce soit la totalité du tableau qui s'affiche ou ne s'affiche pas.
Si je met votre code, j'aurai toujours la ligne des <th>...
Si je met votre code, j'aurai toujours la ligne des <th>...
Salut !
Normalement tu devrais pouvoir savoir si à une semaine est inscrit quelqu'un ou personne rien qu'en faisant une requête SQL. Je ne sais pas si tu vois ce que je veux dire, mais il serait plus judicieux de revoir ta base de données, en y établissant deux tables, une pour les semaines et une pour les personnes.
Avec une association "inscrire" (0,n 0,n) entre ces deux tables tu pourra alors faire une requête de ce type :
SELECT * FROM semaine INNER JOIN inscrire USING semaineID INNER JOIN personne USING personneID WHERE semaineNumero=?
tu obtiendra alors les informations de toutes les semaines où il existe des inscriptions ainsi que les informations sur les personnes inscrites à ces semaines.
pour les th, avant de les afficher, il faut que tu vérifie que tu ais bien au moins une personne inscrite à la semaine correspondante, il suffit de compter le nombre d'entrée que retourne ta requête SQL et de remettre le curseur au début (ou bien de passer par les requêtes préparées) ou encore de faire un COUNT en SQL
SELECT COUNT(*) FROM ...etc.
Voilà quelques pistes
Normalement tu devrais pouvoir savoir si à une semaine est inscrit quelqu'un ou personne rien qu'en faisant une requête SQL. Je ne sais pas si tu vois ce que je veux dire, mais il serait plus judicieux de revoir ta base de données, en y établissant deux tables, une pour les semaines et une pour les personnes.
Avec une association "inscrire" (0,n 0,n) entre ces deux tables tu pourra alors faire une requête de ce type :
SELECT * FROM semaine INNER JOIN inscrire USING semaineID INNER JOIN personne USING personneID WHERE semaineNumero=?
tu obtiendra alors les informations de toutes les semaines où il existe des inscriptions ainsi que les informations sur les personnes inscrites à ces semaines.
pour les th, avant de les afficher, il faut que tu vérifie que tu ais bien au moins une personne inscrite à la semaine correspondante, il suffit de compter le nombre d'entrée que retourne ta requête SQL et de remettre le curseur au début (ou bien de passer par les requêtes préparées) ou encore de faire un COUNT en SQL
SELECT COUNT(*) FROM ...etc.
Voilà quelques pistes