Requête recuperer tous champs d'une colonne [Résolu/Fermé]

Signaler
Messages postés
862
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2018
-
cheese42
Messages postés
862
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2018
-
Bonjour,

sur une table nommée (numerodejajoues),
j'ai un champs id, en auto-increment,
un champs grillenumero,
un champs pseudo,
un champs numeroduclic.

donc, ce que je cherche à faire, c'est que dès que je clique sur un chiffre,
on prend chiffre 251, donc lorsque je clique sur ce chiffre,
il faudrait que ma requete aille verifier si ce chiffre existe,
si oui alors on affiche une image comme quoi ce chiffre est deja mis,
sinon une image comme quoi le chiffre n'est pas encore mis.

((ici requete pour chercher le $numerog qui vaut 1 pour la 1ere grille^^)
ma requete actuelle :::

$savoirlesclicfaits = mysql_query("SELECT numeroduclic FROM numerodejajoues WHERE grillenumero='$numerog'")
or die ('bon ben ca plante la: '.mysql_error());

$ddd = mysql_fetch_array($savoirlesclicfaits);
$nwx = $ddd['numeroduclic'];
echo $nwx;

Et bien entendu, le echo est pour voir ce que ca va chercher, mais il m'affiche simplement le 1er enregistrement de la base, or, il devrait pourtant afficher tous les resultats du champs numeroduclic ??? non ???
Je ne cherche pas à les faire afficher pour la suite, simplement pour voir avant de mettre en ligne le jeu ^^

donc, le but est:::
de vérifier au moment de l'affichage de la page si le numero 251 existe en base dans cette table,et soit de l'afficher si il n'existe pas, ou bien de l'afficher si il existe,
voila merci de toute réponse @++....


8 réponses

Messages postés
45
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
17 avril 2011
3
Bonjours

C'est un petit peu plus clair...

Donc (De ce que je comprend de votre énoncer)

Oui, la méthode la plus simple à coder (mais plus lourd) est de faire une requête pour chaque nombre (donc oui, 1000 requêtes!)

Sinon, plus légère (une seul requête, mais plus de code) de récupérer tous les nombres en une requête TRIER (... ORDER BY 'numeroduclic')
Puis de boucler dans vos résultats et de tester leurs limites.

En effet, si votre 1ère valeur vaut 5, vous savez que 1, 2, 3 et 4 ne sont pas dans la table
Si votre 2ème valeurs vaut 9, vous savez que 6, 7 et 8 ne sont pas dans la table...
...

Bien à vous
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 86443 internautes nous ont dit merci ce mois-ci

Messages postés
45
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
17 avril 2011
3
Bonsoirs

Pas tout à fait...

La fonction mysql_fetch_array(...) va chercher l'enregistrement en court, la première fois
Puis le suivant...
Puis le suivant...
Jusqu'à ce que la valeur de retour ($ddd dans votre cas) soit nul

C'est à vous d'appeler la fonction, autans de fois que nécessaire

il faut écrire
while($ddd = mysql_fetch_array($savoirlesclicfaits))
{
$nwx = $ddd['numeroduclic'];
echo $nwx;
}
ou
$rowCount = mysql_num_rows($savoirlesclicfaits);
for($i = 0 ; $i < $rowCount ; i++)
{
$ddd = mysql_fetch_array($savoirlesclicfaits);
$nwx = $ddd['numeroduclic'];
echo $nwx;
}

Bien à vous
Messages postés
862
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2018
112
Bonjour SchSoftware,
tu es donc en train de me dire que vu que j'ai 1000 cases sur ma page, je vais être obliger de faire 1000 fois une requête ????? ^^

car :::
// $resultat = requete ::: selectionne tous les numeroduclic (chiffres)
// de la table touslesclicsgrille ou le numero de la grille est egal
// au numero de la grille qui est 1 en ce moment même
// ca ok, c'est bon ===>

$resultat = mysql_query("SELECT numeroduclic FROM touslesclicsgrille WHERE numdelagrille='$numerodelagrille'")
or die ('plantage : '.mysql_error());

ensuite sur cetta page, je dois afficher 1000 cases, si ces cases n'ont pas été cliquees, alors il y a un lien sur chacune des images, et si les liens ont deja ete cliqués alors, juste une image d'une croix :::

donc moi, ce que je cherche, et que je ne trouve pas , c'est cela::::

si case pas cliquée, affiche lien,
si case cliquée, affiche croix:::
comment faire pour vérifier si chiffre 1 en base, si chiffre 2 en base......si chiffre 999 en base, si chiffre 1000 en base ^^

comme cela ???? ==========>
<?php if($resultat['numeroduclic'] != 1){ echo $debgauche; ?>1<?php echo $finligne; } else { echo $sanslien; } ?>
<?php if($resultat['numeroduclic'] != 2){ echo $debgauche; ?>2<?php echo $finligne; } else { echo $sanslien; } ?>
<?php if($resultat['numeroduclic'] != 1000){ echo $debgauche; ?>1000<?php echo $finligne; } else { echo $sanslien; } ?>

????????????
Bonjour les 2000 lignes lol ^^
Salut,

Relis la réponse de SchSoftware, nulle part il ne te dit de refaire la requête pour chaque lgne... juste de faire un appel à mysql_fetch_array() pour chaque ligne.

... et au vu de ton incompréhension, je ne peux que te conseiller un peu de lecture
Messages postés
862
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2018
112
bonjour, ben désolé, mais j'ai beau lire et relire,
je ne comprends toujours pas pour que:::

je prépare une requete qui va chercher TOUS les chiffres déja inscrits en base::::::::
$resultat = mysql_query("SELECT numeroduclic FROM touslesclicsgrille WHERE numdelagrille='$numerodelagrille'");
ca c'est bon....

ensuite je ne veux pas les afficher ces chiffres déjà inscrits en base,
mais juste que mon script vérifie si le chiffre est déjà inscrit,

( c'est la le bazar....), vous me dîtes de faire comme cela ??? ==>
$nb1='0';
while ($donnees1 = mysql_fetch_array($resultat) )
{
$nb1++;
echo ''.$donnees1['numeroduclic'].'';
}

ok, cela écrit sur la page tous les chiffres déjà en base les uns derriere les autres, mais je ne veux pas cela , mais simplement que :::

si il y est alors je fais afficher une image "X" et si il n'est pas en base,
alors par contre je fais afficher une image qui, en cliquant dessus, le fera insérer en base,
les scripts sont bons, sauf la variable à faire pour les 1000 chiffres -_-....

si le chiffre 21 est déja en base, affiche image "X"
et si il n'y est pas, affiche image "Y", si image 562 est en base, image "X", si n'est pas en base, image "Y" etc etc etc.....donc je suis obligé de faire ceci::
$nb1='0';
while ($donnees1 = mysql_fetch_array($resultat) )
{
$nb1++;
echo ''.$donnees1['numeroduclic'].'';
}
1000 fois de suite dans la page ????
merci de votre réponse @+++....
Messages postés
862
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2018
112
ok, merci SchSoftware, je vais essayer de faire, je ne mets pas en résolu encore, mais si je trouve une solution en rapport avec ton aide......

$resultat = mysql_query("SELECT numeroduclic FROM touslesclicsgrille WHERE numdelagrille='$numerodelagrille' ORDER BY numeroduclic ASC");

la, j'ai bien les chiffres deja en base mais bon sang, ils se suivent, ah s'il pouvait y avoir une virgule ou autre chose pour séparer les resultats tiens ^^ !!!!!

bon, ben j'essaie de faire au mieux.......

ps::
et quitte a mettre ceci 1000 fois, tant pis mais:::
$nb1='0';
while ($donnees1 = mysql_fetch_array($resultat) )
{
$nb1++;
echo ''.$donnees1['numeroduclic'].'';
}

comment dois-je faire pour que le nb1='0' aille chercher le suivant à chaque fois ???? merci !!!! car apres, je mettrai un" if " il y est alors affiche le pas......"else" affiche le ^^
Messages postés
45
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
17 avril 2011
3
Bonsoir

Vous pourriez éventuellement stocker toutes les valeur dans un Array et utiliser la fonction de recherche pour le trouver facilement

Quelque chose du genre (pour vérifier les case 23, 15, 56, 99...)

$gridDataArray = array(23, 15, 56, 99);

$sqlDataArray = array();
while ($donnees1 = mysql_fetch_array($resultat) )
{
$sqlDataArray[] = $donnees1['numeroduclic']';
}

$dataGridCount = array_size($gridDataArray);
for($i = 0 ; $i < $dataGridCount ; $i++)
{
if(in_array($gridDataArray[$i], $sqlDataArray))
echo "Présent dans la table SQL.";
else
echo "Absent de la table SQL.";
}

Voilà
J'espère avoir compris ce que vous cherchez à faire

Bien à vous

Tous le monde peu ce tromper (moi le premier) !
J'essaye... C'est déjà ça!
Messages postés
862
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
10 octobre 2018
112
allez merci SchSoftware d'avoir été là, bon alors du coup, prise de tête pendant 2 jours sur ca, donc, ce que j'ai fais:::

nouvelle table avec 500 champs ^^, si cliqué, je mets sur oui, si pas cliquéé, sur non, un update au clic, et puis voila, mdr ^^
merci encore @++....