IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage de la requête mysql


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2018
    Messages : 46
    Points : 36
    Points
    36
    Par défaut Affichage de la requête mysql
    Nous venons de clôturer une discussion avec Cinephil ça marche nickel, je l'en remercie !!!!

    mais, et oui y a un mais...

    Je peux afficher les absents d'un calendrier de répétitions en cliquant sur un menu absent, ça me paraît simple. Mais je voudrais qu'au survol de la souris dans la case du jour de répétition de mon calendrier, le title de la case m'affiche les absents.

    J'ai essayé ça, quand il n'y a pas d'absent, il ne m'affiche rien (SUPER) mais quand il y a des absents il m'affiche 0. Pourquoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $sql_absents = 'SELECT m.mbr_prenom, m.mbr_nom
    								FROM te_membre_mbr m 
    									INNER JOIN tj_mbr_absent_rpt_mar j ON j.mar_id_membre = m.mbr_id
    									INNER JOIN te_repetition r ON r.rpt_id = j.mar_id_repetition
    									WHERE r.rpt_date = "2018-02-06"
    									ORDER BY mbr_nom, m.mbr_prenom
    									';
    					$req_absents = mysql_query($sql_absents) or die('Erreur SQL !<br>'.$sql_absents.'<br>'.mysql_error()); 
    					while($data_absents = mysql_fetch_assoc($req_absents)) {
    						$absents = $absents + $data_absents['m.mbr_prenom'] + " " + $data_absents['m.mbr_nom'];
    						}
    					$sql_login = 'SELECT m.login
    								FROM te_membre_mbr m 
    									INNER JOIN tj_mbr_absent_rpt_mar j ON j.mar_id_membre = m.mbr_id
    									INNER JOIN te_repetition r ON r.rpt_id = j.mar_id_repetition
    									WHERE r.rpt_date = "2018-02-06"';
    					$req_login = mysql_query($sql_login) or die('Erreur SQL !<br>'.$sql_login.'<br>'.mysql_error()); 
    					$absence = false;
    					while($data_login = mysql_fetch_assoc($req_login)) {
    						if($data_login['login'] == $_SESSION['login']) {$absence = true;}
    						}
    					if ($absence == true) {
    						$links[6] = '<a href="calendrier_absence.php?date_rpt=2018-02-06" class="absent" title="'.$absents.'">6</a>';
    						}
    					else if ($absence == false) {
    						$links[6] = '<a href="calendrier_absence.php?date_rpt=2018-02-06" class="prg1" title="'.$absents.'">6</a>';
    						}

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Je vois 2 problèmes :
    Sauf erreur, tu n'initialises pas ta variable $absents avant de la concaténer (et puis la concaténation en PHP, c'est le point, pas le +, qui doit transformer ta chaîne en int...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $absents='';
    $req_absents = mysql_query($sql_absents) or die('Erreur SQL !<br>'.$sql_absents.'<br>'.mysql_error()); 
    while($data_absents = mysql_fetch_assoc($req_absents)) {
    	$absents = $absents . $data_absents['m.mbr_prenom'] . ' ' . $data_absents['m.mbr_nom'].' - ';
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2018
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Merci pour l'intérêt porté à ma discussion.

    Après rectification et ayant suivi des conseils, ça ne fonctionne pas.

    J'ai vérifié l'écriture et la lecture dans ma base avec les requêtes effectuées. Tout est ok.

    En revanche à l'affichage quand j'ai un prénom et un nom je n'ai juste que le caractère espace suivi du tiret.

    Nom : cal.jpg
Affichages : 45
Taille : 193,5 Ko

    Je ne comprends pas...

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Ben c'est un vrai progrès ça.
    Dernière correction, le préfixe de ta table (m.) ne figure plus dans le tableau PHP d'arrivée. Il faut donc l'enlever.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $absents='';
    $req_absents = mysql_query($sql_absents) or die('Erreur SQL !<br>'.$sql_absents.'<br>'.mysql_error()); 
    while($data_absents = mysql_fetch_assoc($req_absents)) {
    	$absents = $absents . $data_absents['mbr_prenom'] . ' ' . $data_absents['mbr_nom'].' - ';
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2018
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Bon en fait c'était une erreur de nom de variable...

    Oui tu viens de me répondre, en effet c'est ça, j'avais corrigé... mais merci à toi.

  6. #6
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Pour terminer tout à fait proprement, peut-être veux-tu enlever le tiret final pour faire propre ?
    Parce que là, tu as "DUPONT Marc - MARTIN Hervé - "
    Il faut faire un petit substr après la boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $absents='';
    $req_absents = mysql_query($sql_absents) or die('Erreur SQL !<br>'.$sql_absents.'<br>'.mysql_error()); 
    while($data_absents = mysql_fetch_assoc($req_absents)) {
    	$absents = $absents . $data_absents['mbr_prenom'] . ' ' . $data_absents['mbr_nom'].' - ';
    }
    //supprimer les 3 derniers caractères " - "
    if($absents!=''){
           $absents=substr($absents,0,-3);
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  7. #7
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Par ailleurs, il faut que tu passes à PDO mon cher...
    tout est là, promis, c'est facile...

    https://www.developpez.net/forums/d1...acilement-pdo/
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] script simple AJAX PHP affichage balise div et requête mysql
    Par Invité dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 08/02/2009, 14h21
  2. [MySQL] Affichage dans un tableau d'une requête MySQL
    Par Lenalyon dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 18/12/2007, 13h16
  3. [MySQL] Affichage des résultats de plusieurs requêtes MySQL
    Par Gillou69 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/11/2007, 15h05
  4. [MySQL] Problème avec l'affichage de ma requête mysql
    Par vins31 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/06/2007, 20h18
  5. [MySQL] Affichage personalisé aprés une requète Mysql.
    Par Caizzii dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/05/2007, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo