Une petite aide pour un select en php

Résolu/Fermé
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 - Modifié le 2 juin 2021 à 18:40
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 - 2 juin 2021 à 23:18
bonjour a tous
je suis occupé d essayer d améliorer mon site sur la pêche

le principe est le suivant chaque pêcheur peux rentrer sa journée de pêche
et y déposer des photos
dans ma base de donnée j ai donc un ID (id_img)
diffèrent pour chaque journée de pèche de chaque pécheur

si le pécheur A poste des images le 01juin
dans ma base de donnée toutes les photos du pêcheur A auront par exemple l id_img qui va correspondre a 28
si le même pêcheur reposte des images pour la journée du 02 juin
dans ma base de donnée toutes les photos du pêcheur A auront par exemple l id_img qui va correspondre a 68

donc je souhaite compter combien de photos le pêcheur A a poster le 01 juin par exemple

Cela serait il correct ?


$req = $bdd->prepare('select count(*) as nb FROM galerie_images  WHERE id_img=?');
$req->execute(array($_GET['id_img']);

   $data = $res->fetch();
  $nb = $data['nb'];

 <strong>le nombre d image postée pour cette sortie    </strong><?php echo $nb; ?><br /><br />


en partant de cet exemple

$req = $bdd->prepare('SELECT nom, prix FROM jeux_video WHERE possesseur = ?  AND prix <= ? ORDER BY prix');
$req->execute(array($_GET['possesseur'], $_GET['prix_max']));

echo '<ul>';
while ($donnees = $req->fetch())
{
	echo '<li>' . $donnees['nom'] . ' (' . $donnees['prix'] . ' EUR)</li>';
}
echo '</ul>';

$req->closeCursor();

7 réponses

jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
2 juin 2021 à 19:50
Bonjour
Oui.

Mais par contre je ne vois pas le rapport avec le second code...
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
2 juin 2021 à 19:57
bonjour jordane
merci pour la reponse

en fait c était juste pour montrer sur quoi j étais parti ...

mais malheureusement mon code ne fonctionne pas

j ai cette erreur qui apparaît sur ma page qui me dit que je n ai pas de variable définie
je devrais peut être indiquer

$id='id_img'
et ensuite me servir de $id dans le GET

Notice: Undefined variable: bdd in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/form-fichier.php on line 82

Fatal error: Uncaught Error: Call to a member function prepare() on null in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/form-fichier.php:82 Stack trace: #0 {main} thrown in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/form-fichier.php on line 82
0
jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
2 juin 2021 à 20:33
Il te dit surtout qu'il ne trouve pas la variable BDD...
As-tu mis le fichier de connexion à la base de données ?
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
2 juin 2021 à 21:26
en effet j avais oublie de la mettre

merci jordane
mais j ai une nouvelle erreur

et cette fois ci on parle bien de id_img

Notice: Undefined index: id_img in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/form-fichier.php on line 81

Notice: Undefined variable: res in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/form-fichier.php on line 83

Fatal error: Uncaught Error: Call to a member function fetch() on null in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/form-fichier.php:83 Stack trace: #0 {main} thrown in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/form-fichier.php on line 83
0
jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
Modifié le 2 juin 2021 à 21:43
On en revient à ce que je t'explique depuis des mois ...

On récupère PROPREMENT les variables AVANT de les utiliser
Sans oublier de placer CHAQUE requête dans un bloc TRY/CATCH

et puis faut relire ton code et mettre les bons noms de variable si tu veux que ça marche... $req et non $res ...

Donc
$id_img = !empty($_GET['id_img']) ? $_GET['id_img']: NULL;
if(!$id_img){
  echo " Aucun ID passé dans l'URL ...";
  exit;
}

$sql = 'select count(*) as nb FROM galerie_images  WHERE id_img=?';
$datas = [$id_img]
try{
   $req = $bdd->prepare($sql);
   $req->execute($datas);
   $res = $req->fetch();
    $nb = !empty($res) ? $res['nb'] : 0;
}catch(Exception $e){
  echo "Erreur " . $e->getMessage();
  print_r($datas);
}

echo "<strong>le nombre d'images postées pour cette sortie  :  </strong>".$nb."<br /><br />";

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
2 juin 2021 à 21:56
merci jordane pour la correction
oui c est juste
cette fois je en suis plus pardonnable avec la récupération des variables proprement

j ai donc rectifier

mais il me retourne ceci
Aucun ID passé dans l'URL ...

alors qu il y a 2 photos
0
jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
Modifié le 2 juin 2021 à 22:01
Tu peux me coller l'url exacte que tu as dans ton navigateur lorsque tu affiches cette page ?
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
Modifié le 2 juin 2021 à 22:05
voici jordane
https://accessible-preparat.000webhostapp.com/nosignal/journee-peche/form-fichier.php?pseudo=phil1&id=85

tiens c est bizarre le id correspond bien a celui des photos
faudrait remplacer le id_img par id ....

dans ma base de données j ai
id
et
id_img
0
jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
2 juin 2021 à 22:16
On s'en fout des champs que tu as dans ta base de données...
Le souci c'est le nom de la variable dans l' url et le fait que tu n'utilise pas cette variable dans la ligne qui permet de récupérer les variables...

Faut juste modifier la ligne comme ceci

$id_img = !empty($_GET['id']) ? $_GET['id']: NULL;
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
2 juin 2021 à 23:18
super jordane cela fonctionne

ah ok ben tu vois je viens encore d apprendre des choses

encore un tres grand merci

bonne nuit
0