Bug d'une requete select

[Résolu/Fermé]
Signaler
-
 Utilisateur anonyme -
Bonjour,

Voici le contexte.
J'ai une table dans laquelle j'enregistre les tickets de nos insterventions informatiques.

dans cette table (tincidents) j'ai une colonne user, time, date_res (entre autres)
j'ai une table tusers qui reférence tous nos clients
j'ai une table ttime qui référence plusieurs durée d'intervention

l'idée est simplement d'afficher toutes nos interventions, sous forme de tableau avec <table> et à 3 colonnes : Nom du client, date d'intervention, durée.

le problème est que lorsque je fais un SELECT sur la table users, ca bug! Oo (détail du bug plus bas)

mon code
1. je selectionne tous mes tickets pour un futur listage

$query=$bdd_intervention->query('SELECT * FROM tincidents LIMIT 0, 3000');
$queryfetch=$query->fetch();


ici no soucis

2. je boucle afin de pouvoir tout lister.

while($queryfetch)

no soucis

3.1 je veux récupéré les users et la durée d'intervention donc dans un premier temps, voici comment je récupère la durée


$query_time=$bdd_intervention->query('SELECT * FROM ttime WHERE id='.$queryfetch['time'].'');
$queryfetch_time=$query_time->fetch();


ici NO soucis!

3.2 et voici comment je récupère les users

$query_user=$bdd_intervention->query('SELECT * FROM tuser WHERE id='.$queryfetch['user'].'');
$queryfetch_user=$query_user->fetch();


et là, C'EST LE DRAME

Le bug est que si je supprime les 2 dernières lignes de codes concernant la recup des users, j'ai un beau tableau avec mes 185 interventions, bien triées etc etc. Mais bon sans les nom des clients. Donc les 2 dernières ligne de code ci dessus me servent à cela ... problème : elles me limitent ma requete qu'au 30 premiers tickets!! Alors que si je les supprime, ma requete m'affiche bien 185 tickets.

j'ai essayé avec LIMIT 0,200 mais sans succès.

et si je change le dernier SELECT (qui se fait sur tusers) par un SELECT sur ttime ou une autre table quelconque, mon affichage est toujours de 185 lignes!

C'est uniquement lorsque je fais une requete sur tusers, qu'il ne veut plus m'affichier mes 185 lignes, il m'affiche 30 ligne seulement (et les 30 premiers pour infos)

C'est moi? j'ai mal écrit quelque chose? :(

Merci d'avance!

PS= à la fin des requete ce n'est pas des doubles quotes, mais 2 simples quotes. pas de débat la dessus s'il vous plait. Je ne suis pas dev. Merci

2 réponses

Messages postés
131
Date d'inscription
dimanche 13 janvier 2013
Statut
Membre
Dernière intervention
17 octobre 2015

verifie dans ton $queryfetch['user'], ya qoui dedans en faisant
print_r($queryfetch['user']); et ensuite poste le resultat. en plus j aimerais savoir comment tu faire tes requette et ou? dans ta boucle while ou en dehors? je parle des deux dernieres requettes
Utilisateur anonyme
$query=$bdd_intervention->query('SELECT * FROM tincidents ORDER BY date_res DESC');
$queryfetch=$query->fetch();
while($queryfetch)
{
if ($queryfetch['date_res']!="0000-00-00")
{
$query_time=$bdd_intervention->query('SELECT * FROM ttime WHERE min=\''.$queryfetch['time'].'\'');
$queryfetch_time=$query_time->fetch();

$query_user_test=$bdd_intervention->query('SELECT * FROM tusers WHERE id=\''.$queryfetch['user'].'\'');
$queryfetch_user_test=$query_user_test->fetch();

echo "<tr><td>Chez ".$queryfetch_user_test['company']."</td><td> le ".$queryfetch['date_res']."</td><td> d'une durée de ".$queryfetch_time['name']."</td></tr>";
}
$queryfetch=$query->fetch();
}
Utilisateur anonyme
Voici mon Code, mais j'ai trouvé d'où venait le soucis, je poste de suite la solution.
Utilisateur anonyme
Merci de t'être pencher sur mon cas, et je ne connaissais pas le print_r ! je m'le garde sous le coude, ça pourrait servir
Résolue!

Alors en faite, ma colonne user était de type VAR.
Donc je ne sais toujours pas pourquoi cela me limitait à un affichage de 30 lignes, mais du coup j'ai rajoute des simples quote et ca a fonctionné (merci papa nowel?)

du coup mes deux dernieres lignes ca donne ca

$query_user=$bdd_intervention->query('SELECT * FROM tuser WHERE id=
\'
'.$queryfetch['user'].'
\'
');
$queryfetch_user=$query_user->fetch();

"Internet" est un outil ... apprenez à l'utiliser svp! Nous ne sommes pas là pour vous mâcher le travail. Faite une recherche sur CCM ou sur GG avant de poster, merci!
Messages postés
131
Date d'inscription
dimanche 13 janvier 2013
Statut
Membre
Dernière intervention
17 octobre 2015

ajoute un resolue au poste . regarde en haut.
merci
Utilisateur anonyme
je l'avais déjà fait,
merci