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 :

+ variable d'affectation [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Par défaut + variable d'affectation
    Bonsoir tout le monde.

    Voilà, mon club m'a demandé de refaire le site qui tombe en ruine (bon je passe les détails)

    Voilà donc pour chaque journée de championnat on saisie sur le site les scores, jusque là pas de problèmes je gère ^^.

    Le bémol vient lorsque j'affiche les résultats (j'utilise mysql pour la base)

    J'ai ma page avec une liste déroulante pour choisir les matchs de la journée voulue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    include ("connect.php");
      echo "Choix de la journée :"; 
       echo"<select name='njournee'>";
     
    	$sql="SELECT * FROM calendrier GROUP BY num_journee";
    	$res=mysql_query ($sql);
    	while ($val=mysql_fetch_array($res))
    	{
    	echo "<option>$val[num_journee]</option>\n";
    	}
     
        echo"</select>";
    ça c'est bon ça marche, ensuite, j'affiche les résultats ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $requete = "SELECT * FROM poule_d3 WHERE $njournee=journee"; 
    $sql = mysql_query($requete); 
    		while ($rencontre = mysql_fetch_array($sql)) 
    			{ 
    				echo "<tr>";
    				echo "<td align='center' valign='middle' width='7%'><font color='#D5074C8'>$rencontre[Journee]</font></td>";
    				echo "<td align='center' valign='middle' width='7%'><font color='#8C4705D'>$rencontre[Domicile]</font></td>";
    				echo "<td align='center' valign='middle' width='10%'><font color='#007F1F'>$rencontre[Pts_dom]</font></td>";
    				echo "<td align='center' valign='middle' width='07%'><font color='#333300'>$rencontre[Exterieur]</font></td>";
    				echo "<td align='center' valign='middle' width='25%'><font color='#0068FF'>$rencontre[Pts_ext]</font></td>";
    				echo "</tr>"; 
    			}
    Le problème est qu'avant de choisir la journée, j'ai plein de messages d'erreur de ce type :
    Warning: mysql_fetch_array():supplied argument etc etc on line XX
    Mais une fois la journée choisie, ça marche nikel. Donc je voulais savoir comment faire pour qu'a la 1ere apparation, ça affiche par defaut la 1ere journée.

    J'ai essayé d'affecter "manuellement 1 à $njournee sans grand succès. Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    ne fais pas l'affichage tant que la journée n'est pas rentrée

    ou ne fais pas l'affichage si $sql = mysql_query($requete); ne donne aucun résultat (par exemple avec mysql_num_rows)

  3. #3
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut Il manque des balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM poule_d3 WHERE $njournee=journee";
    Ta requête est mauvaise.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM poule_d3 WHERE journee=$njournee";
    Si ça fonctionne pas essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM poule_d3 WHERE journee='$njournee' ";

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Par défaut
    Bon je vais testé ça, je vous dis par la suite si c'est résolu ou pas....

  5. #5
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut corrige en premier...
    Corrige en premier la requete qui est fausse comme je te l'ai indiqué dans mon post précédent. Une affectation va de droite à gauche. exemple:

    C'est la valeur $njournee qui est affectée à la variable journee.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Par défaut
    Bon le problème de la requete est reglé. Par contre j'ai toujours l'autre problème

    Je dois essayé avec le Isset ou le empty ? si j'ai bien compris je dois faire un truc du genre:

    si $njournee=" "
    alors $njournee=1
    fin si

    affichage des resultats

  7. #7
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut c'est quoi l'autre problème
    Si ton autre problème est l'affichage du message d'erreur lorsque tu arrives sur la page alors il faut que tu mettes (si dans ta balise <form> method=POST et que dans ton <input type=submit /> name='valider'):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    if(!isset($_POST['valider']){
        // Tu affiches simplement le formulaire et tu n'effectue pas ta requête SQL
    } else {
        // Tu réaffiche le formulaire et tu effectue la requête SQL
        // afin d'afficher le résultat
    }
    Et bien-sûr, tu protèges tes données avec par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $variable = htmlspecialchars(strip_tags($_POST['variable']), ENT_QUOTE);
    ?>
    htmlspecialchars va coder les caractères spéciaux dans leur équivalent HTML excepté pour les guillemets simples('), raison pour laquelle on utilise la constante ENT_QUOTES.

    striptags va supprimer les balises HTML.

    De cette manière tu seras protégé contre les attaques XSS et CSRF ainsi que contre les injections (simples et connues) SQL.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Par défaut
    Merci beaucoup ça marche de cette façon Zyongh, par contre j'ai remplacer le 'valider' par le nom de ma liste déroulante.

    Merci à tous pour votre aide encore une fois

  9. #9
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut tant qu'on peut faire plaisir
    c'est un plaisir d'aider les autres. On a tous galérer au début.

    Pense à mettre le tag résolu.

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

Discussions similaires

  1. Séparer déclaration de variables et affectation des valeurs
    Par bk313142 dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 25/08/2009, 17h06
  2. [PS] affectation de variable
    Par madmortal dans le forum SQL
    Réponses: 2
    Dernier message: 01/09/2004, 13h17
  3. [JSP] [débutant] affectation variable java
    Par RENAULT dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/07/2004, 15h44
  4. Affecter variable champs
    Par pete007 dans le forum ASP
    Réponses: 3
    Dernier message: 20/04/2004, 16h33
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

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