PHP/ Warning: mysql_fetch_assoc():...
Résolu/Fermé
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
-
Modifié par the_jb le 7/06/2012 à 12:02
the_jb Messages postés 641 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 9 mai 2016 - 7 juin 2012 à 16:15
the_jb Messages postés 641 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 9 mai 2016 - 7 juin 2012 à 16:15
A voir également:
- PHP/ Warning: mysql_fetch_assoc():...
- Alert php ✓ - Forum PHP
- Header php - Astuces et Solutions
- Undefined index php - Astuces et Solutions
- Retour a la ligne php ✓ - Forum PHP
- Modulo php ✓ - Forum PHP
11 réponses
Tu n'as pas affiché la requête dans le 'or die' comme je te le demandais
Tu aurais tout de suite vu l'erreur, il te manque sûrement le id_batiment.
Regarde ta fonction getNbHeureParaffaireParbatiment, tu appelles le paramère $id_batiment mais tu fabriques ta requête avec $id_bat
Tu aurais tout de suite vu l'erreur, il te manque sûrement le id_batiment.
Regarde ta fonction getNbHeureParaffaireParbatiment, tu appelles le paramère $id_batiment mais tu fabriques ta requête avec $id_bat
Bonjour
Il y a sûrement un problème dans la requête, il faut faire afficherla requête et le message d'erreur de mysql :
Il y a sûrement un problème dans la requête, il faut faire afficherla requête et le message d'erreur de mysql :
$rsql=mysql_query($sql) or die ($sql.'<br />'.mysql_error());
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
58
7 juin 2012 à 13:57
7 juin 2012 à 13:57
Ok j'essai ça je vous en donne des nouvelles
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
58
Modifié par the_jb le 7/06/2012 à 14:01
Modifié par the_jb le 7/06/2012 à 14:01
message d'erreur de mysql :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND af.deb_trav BETWEEN '' AND '' GROUP BY af.id_aff' at line 6
Il ne récupère pas mes dates ?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND af.deb_trav BETWEEN '' AND '' GROUP BY af.id_aff' at line 6
Il ne récupère pas mes dates ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
58
Modifié par the_jb le 7/06/2012 à 14:07
Modifié par the_jb le 7/06/2012 à 14:07
Pourquoi j'arrive très bien à les récupérer avec les requêtes précédentes et pas avec celle ci ?
Les dates sont déjà récupérées en haut de page.
Les dates sont déjà récupérées en haut de page.
Tu as une valeur différente de ($_POST['by']), est-ce qu'elle vien bien du même formulaire à tous les coups ? les champs correspondants sont-ils bien remplis ?
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
58
7 juin 2012 à 14:18
7 juin 2012 à 14:18
Oui, du même formulaire car il s'affiche dans la div juste en dessous du formulaire.
$_POST['by'] correspond à mes 2 boutons radio (même id et même name) un avec la value "byrien" et l'autre "byaffaire" :
echo "<input type='radio' name='by' id='by' value='byrien' onclick='getStat();' checked/> tout
<input type='radio' name='by' id='by' value='byaffaire' onclick='getStat();'/> par affaire <br/><br/>";
Les champs sont remplis est s'execute automatiquement avec un onclick:'getstat()' qui renvoi à ma partie Javascript/AJAX qui permet d'envoyer les données vers la page statistique :
echo " <input type='checkbox' name='prestataire' id='prestataire' value='prestataire' onclick='getStat();'>Prestataire
<input type='checkbox' name='fournisseur' id='fournisseur' value='fournisseur' onclick='getStat();'>Fournisseur
<input type='checkbox' name='materiel' id='materiel' value='materiel' onclick='getStat();'>Matériel
<input type='checkbox' name='heure' id='heure' value='heure' onclick='getStat();'>Heures
<br/><br/>";
La partie javascript/AJAX :
function afficherStat(reponse)
{
document.getElementById('stat').innerHTML = reponse.responseText;
}
function getStat()
{ id_batiment=document.getElementById('id_batiment').value;
by=getSelectedRadioValue(document.f.by);
dateinf=document.getElementById('dateinf').value;
datesup=document.getElementById('datesup').value;
prestataire=document.getElementById('prestataire').checked;
fournisseur=document.getElementById('fournisseur').checked;
materiel=document.getElementById('materiel').checked;
heure=document.getElementById('heure').checked;
new Ajax_request('./soutien_stat_batiment.php',{method:'post',params:'id_batiment='+id_batiment+'&by='+by+'&dateinf='+dateinf+'&datesup='+datesup+'&prestataire='+prestataire+'&fournisseur='+fournisseur+'&materiel='+materiel+'&heure='+heure,onSuccess:afficherStat});
}
$_POST['by'] correspond à mes 2 boutons radio (même id et même name) un avec la value "byrien" et l'autre "byaffaire" :
echo "<input type='radio' name='by' id='by' value='byrien' onclick='getStat();' checked/> tout
<input type='radio' name='by' id='by' value='byaffaire' onclick='getStat();'/> par affaire <br/><br/>";
Les champs sont remplis est s'execute automatiquement avec un onclick:'getstat()' qui renvoi à ma partie Javascript/AJAX qui permet d'envoyer les données vers la page statistique :
echo " <input type='checkbox' name='prestataire' id='prestataire' value='prestataire' onclick='getStat();'>Prestataire
<input type='checkbox' name='fournisseur' id='fournisseur' value='fournisseur' onclick='getStat();'>Fournisseur
<input type='checkbox' name='materiel' id='materiel' value='materiel' onclick='getStat();'>Matériel
<input type='checkbox' name='heure' id='heure' value='heure' onclick='getStat();'>Heures
<br/><br/>";
La partie javascript/AJAX :
function afficherStat(reponse)
{
document.getElementById('stat').innerHTML = reponse.responseText;
}
function getStat()
{ id_batiment=document.getElementById('id_batiment').value;
by=getSelectedRadioValue(document.f.by);
dateinf=document.getElementById('dateinf').value;
datesup=document.getElementById('datesup').value;
prestataire=document.getElementById('prestataire').checked;
fournisseur=document.getElementById('fournisseur').checked;
materiel=document.getElementById('materiel').checked;
heure=document.getElementById('heure').checked;
new Ajax_request('./soutien_stat_batiment.php',{method:'post',params:'id_batiment='+id_batiment+'&by='+by+'&dateinf='+dateinf+'&datesup='+datesup+'&prestataire='+prestataire+'&fournisseur='+fournisseur+'&materiel='+materiel+'&heure='+heure,onSuccess:afficherStat});
}
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
58
Modifié par the_jb le 7/06/2012 à 14:27
Modifié par the_jb le 7/06/2012 à 14:27
Le test que j'ai fait précédemment n'avais pas de date de précisé :
Voila ce qu'il me donne maintenant :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND af.deb_trav BETWEEN '2011-01-01' AND '2012-07-01' GROUP BY af.id_aff' at line 6
Donc il récupère bien les dates et dans le bon format en plus ..
Où est le problème ??? =(
Voila ce qu'il me donne maintenant :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND af.deb_trav BETWEEN '2011-01-01' AND '2012-07-01' GROUP BY af.id_aff' at line 6
Donc il récupère bien les dates et dans le bon format en plus ..
Où est le problème ??? =(
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
58
Modifié par the_jb le 7/06/2012 à 14:47
Modifié par the_jb le 7/06/2012 à 14:47
la requete est bonne pourtant !
Je l'execute dans phpMyAdmin
SELECT af.id_aff, af.desc, sum( at.nb_heures ) AS nb_heures
FROM affaire af, attribuer at, batiment bat
WHERE af.id_aff = at.id_aff
AND af.id_batiment = bat.id_batiment
AND af.id_batiment =1
AND af.deb_trav
BETWEEN '2011-01-01'
AND '2011-07-07'
GROUP BY af.id_aff
LIMIT 0 , 30
résultat :
id_aff desc nb_heures
1 Rénover le Bâtiment SUD test2 0
4 Monter les tentes à l'Ecole 75
J'arrive pas à trouver où est le problème.
Je l'execute dans phpMyAdmin
SELECT af.id_aff, af.desc, sum( at.nb_heures ) AS nb_heures
FROM affaire af, attribuer at, batiment bat
WHERE af.id_aff = at.id_aff
AND af.id_batiment = bat.id_batiment
AND af.id_batiment =1
AND af.deb_trav
BETWEEN '2011-01-01'
AND '2011-07-07'
GROUP BY af.id_aff
LIMIT 0 , 30
résultat :
id_aff desc nb_heures
1 Rénover le Bâtiment SUD test2 0
4 Monter les tentes à l'Ecole 75
J'arrive pas à trouver où est le problème.
the_jb
Messages postés
641
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
9 mai 2016
58
7 juin 2012 à 16:15
7 juin 2012 à 16:15
C'est bien ça, il ne récupérait pas l'id_batiment