A voir également:
- Probleme de requette dans php
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Bouton php - Forum PHP
- Href php ✓ - Forum PHP
12 réponses
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
25 mai 2010 à 10:38
25 mai 2010 à 10:38
bonjour,
tas fais un mysql_fetch_array($requete) ????
tu peux montrer ton code ??
A+
tas fais un mysql_fetch_array($requete) ????
tu peux montrer ton code ??
A+
salut,
oui j ai utilisé le fetch et ca marche dans tt les requettes que j ai fait sans conditions! mais celle la non!! le code est:
$requette1= $bdd->query("SELECT * FROM annee WHERE annee_debut =<".$annee_debut."AND annee_fin >=".$annee_fin) or die($bdd->errorInfo());
$requette1->execute();
$cont1=$requette1->rowCount();
for($i=0;$i<=$cont1+1;$i++)
{
$donnees=$requette1->fetch();
echo $donnees[0];
}
merci de m aider
oui j ai utilisé le fetch et ca marche dans tt les requettes que j ai fait sans conditions! mais celle la non!! le code est:
$requette1= $bdd->query("SELECT * FROM annee WHERE annee_debut =<".$annee_debut."AND annee_fin >=".$annee_fin) or die($bdd->errorInfo());
$requette1->execute();
$cont1=$requette1->rowCount();
for($i=0;$i<=$cont1+1;$i++)
{
$donnees=$requette1->fetch();
echo $donnees[0];
}
merci de m aider
jeangilles
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
185
26 mai 2010 à 08:59
26 mai 2010 à 08:59
Heu ....
=< n'existe pas; c'est <= qu'il faut utiliser ^^
=< n'existe pas; c'est <= qu'il faut utiliser ^^
merci, mais meme avec le => et <= ca marche pas sauf qu 'avec le code:
$requette1= $bdd->query("SELECT * FROM annee WHERE annee_debut =>".$annee_debut)
mais lorsque j ajoute "AND annee_fin<=$annee_fin" je trouve dans ma page php le mot "array":
$requette1= $bdd->query("SELECT * FROM annee WHERE annee_debut =>".$annee_debut."AND annee_fin <=".$annee_fin)
dites moi quoi faire svp et merci encore
$requette1= $bdd->query("SELECT * FROM annee WHERE annee_debut =>".$annee_debut)
mais lorsque j ajoute "AND annee_fin<=$annee_fin" je trouve dans ma page php le mot "array":
$requette1= $bdd->query("SELECT * FROM annee WHERE annee_debut =>".$annee_debut."AND annee_fin <=".$annee_fin)
dites moi quoi faire svp et merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
26 mai 2010 à 11:29
26 mai 2010 à 11:29
essaye ce code :
$reponse = mysql_query("SELECT * FROM annee
WHERE annee_debut >= '$annee_debut'
AND annee_fin <='$annee_fin'") or die (mysql_error());
while($donnees = mysql_fetch_array($reponse))
{
echo "$donnees[nom_colonne_tu_veux_afficher] <br/>";
}
$reponse = mysql_query("SELECT * FROM annee
WHERE annee_debut >= '$annee_debut'
AND annee_fin <='$annee_fin'") or die (mysql_error());
while($donnees = mysql_fetch_array($reponse))
{
echo "$donnees[nom_colonne_tu_veux_afficher] <br/>";
}
salut,
merci de m suivi atout1 tres jentil de votre part :)
j ai essayé avec ce code que vous m avez proposé mais s affiche le meme probleme "array"!!
si vous avez d autre proposition aidez moi merci
merci de m suivi atout1 tres jentil de votre part :)
j ai essayé avec ce code que vous m avez proposé mais s affiche le meme probleme "array"!!
si vous avez d autre proposition aidez moi merci
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
27 mai 2010 à 09:40
27 mai 2010 à 09:40
bizzare car j'ai tester chez moi et ça marche bien..
tu peux montrer ton code ??
tu peux montrer ton code ??
j crois que le probleme est dans mes tableaux de base de donnee je vai vous montrer tt le code
<html>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname= nom', 'root1', ' ');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
<body>
<?php
//voila les exemples que je donne slm pour l tester
$annee_debut = 2006;
$annee_fin = 2010;
?><p><strong><?php echo 'De la date '.$annee_debut.' a la date '.$annee_fin;?></strong></p>
</br>
</br>
</br>
<center >
<table BGCOLOR="#fff000" BORDER=3 WIDTH="80%">
<tr>
<thead>
<th><p> Nom </p></th>
<th><p> age </p></th>
<th><p> La date </p></th>
<thead>
</tr>
<tbody>
/*normalement ce que j ai dans la table c la date separait de trois
champs: jour mois et annee avec nom et age ...*/
<?php
$requet1= $bdd->query("SELECT * FROM annee WHERE annee_debut =>".$annee_debut." AND annee_fin <=".$annee_fin) or die($bdd->errorInfo());
$requet1->execute();
$cont1=requet1->rowCount();
for($i=0;$i<=$cont1+1;$i++)
{
$donnees=$requet1->fetch();
?>
<tr>
<td><p> <?php echo $donnees[1];?></p></td>
<td><p> <?php echo $donnees[2];?></p></td>
<td><p><?php echo $donnees[3].'/ '.$donnees[4].'/'.$donnees[5];?></p></td>
</tr>
<?php
}
?>
</tbody>
</TABLE>
</center>
<?php
?>
</body>
</html>
j espere que vous avez compris merci encore de m aider
<html>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname= nom', 'root1', ' ');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
<body>
<?php
//voila les exemples que je donne slm pour l tester
$annee_debut = 2006;
$annee_fin = 2010;
?><p><strong><?php echo 'De la date '.$annee_debut.' a la date '.$annee_fin;?></strong></p>
</br>
</br>
</br>
<center >
<table BGCOLOR="#fff000" BORDER=3 WIDTH="80%">
<tr>
<thead>
<th><p> Nom </p></th>
<th><p> age </p></th>
<th><p> La date </p></th>
<thead>
</tr>
<tbody>
/*normalement ce que j ai dans la table c la date separait de trois
champs: jour mois et annee avec nom et age ...*/
<?php
$requet1= $bdd->query("SELECT * FROM annee WHERE annee_debut =>".$annee_debut." AND annee_fin <=".$annee_fin) or die($bdd->errorInfo());
$requet1->execute();
$cont1=requet1->rowCount();
for($i=0;$i<=$cont1+1;$i++)
{
$donnees=$requet1->fetch();
?>
<tr>
<td><p> <?php echo $donnees[1];?></p></td>
<td><p> <?php echo $donnees[2];?></p></td>
<td><p><?php echo $donnees[3].'/ '.$donnees[4].'/'.$donnees[5];?></p></td>
</tr>
<?php
}
?>
</tbody>
</TABLE>
</center>
<?php
?>
</body>
</html>
j espere que vous avez compris merci encore de m aider
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
Modifié par atout1 le 27/05/2010 à 20:26
Modifié par atout1 le 27/05/2010 à 20:26
copie le code suivant dans un fichier.php
<?php
// connection a la base de donnees
$db = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("NOM_BASE") or die(mysql_error());
echo "
<html>
<body>";
//voila les exemples que je donne slm pour l tester
$annee_debut = 2006;
$annee_fin = 2010;
echo "<p><strong>De la date $annee_debut a la date de $annee_fin </strong></p>";
echo "
<table BGCOLOR=#fff000 BORDER=3 WIDTH=80% align=center>
<tr>
<thead>
<th><p>Nom</p></th>
<th><p>Age</p></th>
<th><p>La date</p></th>
<thead>
</tr>
<tbody>";
$reponse = mysql_query("SELECT * FROM annee WHERE annee >= '$annee_debut'AND annee <='$annee_fin'") or die (mysql_error());
while($donnees = mysql_fetch_array($reponse))
{
echo"
<tr>
<td>$donnees[nom]</td>
<td>$donnees[age]</td>
<td>$donnees[jour]/$donnees[mois]/$donnees[annee]</td>
</tr>";
}
echo "
</tbody>
</table>
<body>
</html>";
?>
toi tas moi dans ton WHERE annee_debut <= $annee_debut et annee_fin<= $annee_fin
mais normalement le champ dans la base de donnees s'appelle annee.
en plus au lieu </br> met plutot <br/>
et prkoi tu utilise le $rowcount() ???? tas pas besoin.
ton table dans la base de donnees doit contient les champs suivant id (cle primaire), nom, age, jour, moi, annee , etc.. de ce genre :
CREATE TABLE IF NOT EXISTS 'annee' (
'id' int(11) NOT NULL AUTO_INCREMENT,
'nom' varchar(10) NOT NULL,
'age' int(2) NOT NULL,
'annee' int(4) NOT NULL,
'jour' int(2) NOT NULL,
'mois' int(2) NOT NULL,
PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
essaye ce code et dis moi si ca marche ou pas.. il doit marche car il y a rien de complique .
A+
<?php
// connection a la base de donnees
$db = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("NOM_BASE") or die(mysql_error());
echo "
<html>
<body>";
//voila les exemples que je donne slm pour l tester
$annee_debut = 2006;
$annee_fin = 2010;
echo "<p><strong>De la date $annee_debut a la date de $annee_fin </strong></p>";
echo "
<table BGCOLOR=#fff000 BORDER=3 WIDTH=80% align=center>
<tr>
<thead>
<th><p>Nom</p></th>
<th><p>Age</p></th>
<th><p>La date</p></th>
<thead>
</tr>
<tbody>";
$reponse = mysql_query("SELECT * FROM annee WHERE annee >= '$annee_debut'AND annee <='$annee_fin'") or die (mysql_error());
while($donnees = mysql_fetch_array($reponse))
{
echo"
<tr>
<td>$donnees[nom]</td>
<td>$donnees[age]</td>
<td>$donnees[jour]/$donnees[mois]/$donnees[annee]</td>
</tr>";
}
echo "
</tbody>
</table>
<body>
</html>";
?>
toi tas moi dans ton WHERE annee_debut <= $annee_debut et annee_fin<= $annee_fin
mais normalement le champ dans la base de donnees s'appelle annee.
en plus au lieu </br> met plutot <br/>
et prkoi tu utilise le $rowcount() ???? tas pas besoin.
ton table dans la base de donnees doit contient les champs suivant id (cle primaire), nom, age, jour, moi, annee , etc.. de ce genre :
CREATE TABLE IF NOT EXISTS 'annee' (
'id' int(11) NOT NULL AUTO_INCREMENT,
'nom' varchar(10) NOT NULL,
'age' int(2) NOT NULL,
'annee' int(4) NOT NULL,
'jour' int(2) NOT NULL,
'mois' int(2) NOT NULL,
PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
essaye ce code et dis moi si ca marche ou pas.. il doit marche car il y a rien de complique .
A+
merci bcq atout1 ca marche !!!!! vous ma sauvez merci bcq :)
si vous voulez, dites moi pour bien specifier les resultats de date c.a.d jour mois et annee j ai fait cette requette et ca m donne le resultat mais il donne pas l importante parfoi au mois et autre au jour !!
au lieu de l annee slm :
$reponse = mysql_query("SELECT * FROM annee WHERE annee_debut >= '$annee_debut'AND annee_fin <='$annee_fin'") or die (mysql_error());
on fait:
$jour_debut=7;
$jour_fin=6;
$mois_debut= 4;
$mois_fin= 7;
$annee_debut=2006;
$annee_fin=2009;
$reponse = mysql_query("SELECT * FROM annee WHERE (annee >= '$annee_debut' AND annee <='$annee_fin')
OR ((mois >= '$mois_debut' AND annee>= '$annee_debut') AND ( mois <= '$mois_fin' AND annee <= '$annee_fin')) OR ((jour>= '$jour_debut' AND mois >= '$mois_debut' AND annee >= '$annee_debut') AND (jour <= '$jour_fin' AND mois <= '$mois_fin' AND annee <= '$annee_fin'))");
ca me donne pas des erreurs mais le resultat est comme par exemple: de 07/04/2006 a 06/12/2009!!!!! et normalement il faut qu il s arret dans 06/07/2009
si vous avez des idees sur ca je serai tres content merci d avance pour votre aide atout1 :)
si vous voulez, dites moi pour bien specifier les resultats de date c.a.d jour mois et annee j ai fait cette requette et ca m donne le resultat mais il donne pas l importante parfoi au mois et autre au jour !!
au lieu de l annee slm :
$reponse = mysql_query("SELECT * FROM annee WHERE annee_debut >= '$annee_debut'AND annee_fin <='$annee_fin'") or die (mysql_error());
on fait:
$jour_debut=7;
$jour_fin=6;
$mois_debut= 4;
$mois_fin= 7;
$annee_debut=2006;
$annee_fin=2009;
$reponse = mysql_query("SELECT * FROM annee WHERE (annee >= '$annee_debut' AND annee <='$annee_fin')
OR ((mois >= '$mois_debut' AND annee>= '$annee_debut') AND ( mois <= '$mois_fin' AND annee <= '$annee_fin')) OR ((jour>= '$jour_debut' AND mois >= '$mois_debut' AND annee >= '$annee_debut') AND (jour <= '$jour_fin' AND mois <= '$mois_fin' AND annee <= '$annee_fin'))");
ca me donne pas des erreurs mais le resultat est comme par exemple: de 07/04/2006 a 06/12/2009!!!!! et normalement il faut qu il s arret dans 06/07/2009
si vous avez des idees sur ca je serai tres content merci d avance pour votre aide atout1 :)
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
Modifié par atout1 le 28/05/2010 à 10:58
Modifié par atout1 le 28/05/2010 à 10:58
bonjour, prkoi tu fais pas des trucs de ce genre : remplace les trois champs (jour, mois, annee) par une seule champ (date de type DATE)
et tu modifier ton code comme suivant
echo "
<html>
<body>";
//voila les exemples que je donne slm pour l tester
$date_debut = "2010-05-27"; (aaaa-mm-jj)
$date_fin = "2010-05-31"; (aaaa-mm-jj)
echo "<p><strong>De la date $date_debut a la date de $date_fin </strong></p>";
echo "
<table BGCOLOR=#fff000 BORDER=3 WIDTH=80% align=center>
<tr>
<thead>
<th><p>Nom</p></th>
<th><p>Age</p></th>
<th><p>La date</p></th>
<thead>
</tr>
<tbody>";
$reponse = mysql_query("SELECT * FROM annee WHERE date >= '$date_debut'AND date <='$date_fin'") or die (mysql_error());
while($donnees = mysql_fetch_array($reponse))
{
echo"
<tr>
<td>$donnees[nom]</td>
<td>$donnees[age]</td>
<td>$donnees[date]</td>
</tr>";
}
echo "
</tbody>
</table>
et tu modifier ton code comme suivant
echo "
<html>
<body>";
//voila les exemples que je donne slm pour l tester
$date_debut = "2010-05-27"; (aaaa-mm-jj)
$date_fin = "2010-05-31"; (aaaa-mm-jj)
echo "<p><strong>De la date $date_debut a la date de $date_fin </strong></p>";
echo "
<table BGCOLOR=#fff000 BORDER=3 WIDTH=80% align=center>
<tr>
<thead>
<th><p>Nom</p></th>
<th><p>Age</p></th>
<th><p>La date</p></th>
<thead>
</tr>
<tbody>";
$reponse = mysql_query("SELECT * FROM annee WHERE date >= '$date_debut'AND date <='$date_fin'") or die (mysql_error());
while($donnees = mysql_fetch_array($reponse))
{
echo"
<tr>
<td>$donnees[nom]</td>
<td>$donnees[age]</td>
<td>$donnees[date]</td>
</tr>";
}
echo "
</tbody>
</table>
salut,
oui j aime bien faire ca mais mon encadrant a insisté d utiliser trois champs de date pour eviter qlq probleme!!
j espere que vous m comprenez
merci
oui j aime bien faire ca mais mon encadrant a insisté d utiliser trois champs de date pour eviter qlq probleme!!
j espere que vous m comprenez
merci
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
Modifié par atout1 le 28/05/2010 à 16:53
Modifié par atout1 le 28/05/2010 à 16:53
essaye avec ce requete , je pense ton requete cé tres complique :D
tas pas besoin de tou ses AND et OR
$reponse = mysql_query("SELECT * FROM annee WHERE (annee >= '$annee_debut' AND annee <='$annee_fin')
AND(mois >= '$mois_debut' AND mois <='$mois_fin') AND (jour >= '$jour_debut' AND jour <='$jour_fin')") or die(mysql_error());
ca doit marche
bonne chance
tas pas besoin de tou ses AND et OR
$reponse = mysql_query("SELECT * FROM annee WHERE (annee >= '$annee_debut' AND annee <='$annee_fin')
AND(mois >= '$mois_debut' AND mois <='$mois_fin') AND (jour >= '$jour_debut' AND jour <='$jour_fin')") or die(mysql_error());
ca doit marche
bonne chance
salut,
cette requette m affiche qlq reponse mais pas tt! j explique: j ai testé deux exemples de date : de 02/04/2000 a la date 03/04/2010 et il m affiche les dates ont des jours compris entre 02 et 03 avec mois compris entre 04 et 04 pour tt les annees compris entre 2000 et 2010!! et c pas ca qu on veux!
est c que vous avez d autre propos ??
merci
cette requette m affiche qlq reponse mais pas tt! j explique: j ai testé deux exemples de date : de 02/04/2000 a la date 03/04/2010 et il m affiche les dates ont des jours compris entre 02 et 03 avec mois compris entre 04 et 04 pour tt les annees compris entre 2000 et 2010!! et c pas ca qu on veux!
est c que vous avez d autre propos ??
merci
atout1
Messages postés
216
Date d'inscription
mardi 11 mai 2010
Statut
Membre
Dernière intervention
17 juin 2011
28 mai 2010 à 18:24
28 mai 2010 à 18:24
cé koi les résultats attendus ???
salut,
comme j ai deja dit il faut qu il m affiche tt les informations compri par exemple entre 02/04/2000 et 03/04/2001
ce que j ai dans mon tableau est de 02/03/1999, 03/03/1999, 04/03/1999 .......jusqu a 12/09/2010
mais ce qu il m donne la requette c les resultats suivantes: 02/04/2000 , 03/04/2000 c fini pour l annee 2000!!! apres 02/04/2001 et 03/04/2001 !!!!!!!!!
alors c comme cette requette controle si les dates que tu as est egale a ces 4 dates je vai les afficher sinon je peux rien faire!!
j espere que vous avez compris ou est le probleme
merci bcq atout1 :)
comme j ai deja dit il faut qu il m affiche tt les informations compri par exemple entre 02/04/2000 et 03/04/2001
ce que j ai dans mon tableau est de 02/03/1999, 03/03/1999, 04/03/1999 .......jusqu a 12/09/2010
mais ce qu il m donne la requette c les resultats suivantes: 02/04/2000 , 03/04/2000 c fini pour l annee 2000!!! apres 02/04/2001 et 03/04/2001 !!!!!!!!!
alors c comme cette requette controle si les dates que tu as est egale a ces 4 dates je vai les afficher sinon je peux rien faire!!
j espere que vous avez compris ou est le probleme
merci bcq atout1 :)