Une petite aide pour un select en php

Résolu
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour
    Oui.

    Mais par contre je ne vois pas le rapport avec le second code...
    0
  2. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  3. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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
  4. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Tu peux me coller l'url exacte que tu as dans ton navigateur lorsque tu affiches cette page ?
      0
  7. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  8. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    super jordane cela fonctionne

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

    encore un tres grand merci

    bonne nuit
    0