Php , script , condition

bonjour,
j'ai un petit probléme avec mon script
ce que je voudrais c'est une page ou lorsque l'on trouve dans la base de données des informations qui corespondent au mois a l'année d'aujourdhui et a une ville bien determiné que cela m'inscrive ces donné et autrement un message' pas de dons ce mois ci je vous met mon script
<?php
include("connexion.php");
?>
<?php
//on pose la date d'aujourdhui
$mois= date("m");
$annee= date("y");

//on selectione ce qu'on veut
$sql = 'SELECT dons, aqui FROM dons_tb WHERE mois="$mois" AND annee="$annee" AND ville="paris" ';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)) {

//conditions
if(data['dons']=="")
{
echo 'Auqun dons n\'a été fait ce mois-ci'
}
else
{

echo
Grâce à vous: <br>
'un dons de' .data['dons']. 'à été fait' .data['aqui'];
}
}
mysql_free_result ($req);
mysql_close ();
?>
il ya un pb a la ligne if( data['dons']=...
mais je ne pense pas que ce soit le seul pb car j'ai essayé ce script ci...

<?php
include("connexion.php");
?>
<?php
//on pose la date d'aujourdhui
$mois= date("m");
$annee= date("y");

//on selectione ce qu'on veut
$sql = 'SELECT dons, aqui FROM dons_tb WHERE mois="$mois" AND annee="$annee" AND ville="paris" ';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)) {
echo 'il ya un don de ' .$data['dons']. 'euros' .$data['aqui'];
}
mysql_free_result ($req);
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL
?>
et la helas ça ne m'indique pas d'erreur mais une merveilleuse page blanche lol
merci
Configuration: Windows XP
Internet Explorer 6.0

10 réponses

  1. Modérateur
    Bonsoir yohann :-)

    tu te debrouille plutot bien pour un lycéen ;)
    Merci :-)

    Pour notepad, je l'ai, mais je préfère PSPad.
    J'ai aussi easyphp ;-)

    Pour voir ou est l'erreur, tu peux redonner ton code ?
    1. non en faite ça marche pas j'ai un probleme quand j'ai rien dans ma table la condition else {echo blabla }ne s'afiche pas j'ai une page blange
      1. j'oubliais aussi tu peux prendre easy php
        c'est une sorte de simulateur de reseau
        http://www.lephpfacile.com/cours/index.php?p=2
        1. merci sylvain,
          t'avait oublié les guillemet entre paris et laissé une apostrophe
          echo'Grâce à vous:<br>'un dons de',$data['dons'].'à été fait',$data['aqui'];
          pas serieu! lool
          merci beaucoup ça marche niquel et merci aussi pour la syntaxe
          $sql='SELECT dons,aqui FROM dons_tb WHERE mois=\''.$mois.'\' AND annee=\''.$annee.'\' AND ville=paris';
          voilà,
          sinon pour ton editeur de texte tu peux prendre notepad2 il est gratuit ;) voici l'adresse
          http://www.01net.com/windows/Bureautique/editeur_de_texte/fiches/32301.html
          tu te debrouille plutot bien pour un lycéen ;)

          slum-dunk merci a toi aussi j'ai preféré prendre la soluce a sylvain elle me parle plus, mais merci beaucoup a toi aussi ;)
          1. respecte les points virgules:

            met ça
            while ($data = mysql_fetch_array($req))
            {
            //conditions
            if($data[0]=="")
            {
            echo "Auqun dons n\'a été fait ce mois-ci";
            }
            else
            {
            echo "Grâce à vous: <br>
            un dons de" .data[0]. "à été fait".data[1];
            }
            }
            1. Modérateur
              Salut.

              J'ai modifié le code, et corrigé quelques erreurs.
              (par exemple $data au lieu de data)

              Par contre je suis au lycée, donc je n'ai pas trop de bons outils.
              (C'est à dire : j'ai le bloc-notes)

              Voila ce que j'ai fait :
              <?php
              include'connexion.php';
              //on pose la date d'aujourdhui
              	$mois=date('m');
              	$annee=date('y');
              
              //on selectione ce qu'on veut
              	$sql='SELECT dons,aqui FROM dons_tb WHERE mois=\''.$mois.'\' AND annee=\''.$annee.'\' AND ville=paris'; 
              	$req=mysql_query($sql)or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
              while($data = mysql_fetch_assoc($req))
              { 
              	//conditions 
              	if(!$data['dons'])
              		echo'Aucun don n\'a été fait ce mois-ci';
              	else
              		echo'Grâce à vous:<br>'un dons de',$data['dons'].'à été fait',$data['aqui'];
              } 
              mysql_free_result ($req); 
              mysql_close(); 
              ?>

              J'éspère que ca marchera ;-)

              a plus
              1. super bien vu ;) merci
                mais le pb c'est que mon script est bouré d'erreur maintenant c'est 2 ligne en dessous que ça coince
                {
                echo 'Auqun dons n\'a été fait ce mois-ci'

                alors c'est surement a cause de ça:
                while (mysql_num_rows($req)==1){
                /
                while ($data = mysql_fetch_array($req)) {
                je sais pas trop ou le mettre il est a la bonne place?
                (enfin j'ai pas mis les 2 je les essayé tout les 2 )
                1. non desolé ça ne marche pas

                  //conditions
                  if(data['0']=="")
                  {
                  echo 'Auqun dons n\'a été fait ce mois-ci'
                  }
                  ça marque une erreur a la meme ligne
                  :(
                  pour le 2eme scipt ça marche quand je remplave $mois par 12 et $annee par 06
                  1. tu n'as pas mis le signe $ avant data,essai
                2. remplace cette ligne:
                  while ($data = mysql_fetch_array($req)) {
                  par ça c'est plus simple:
                  while (mysql_num_rows($req)==1){

                  "mysql_num_rows($req)",va tester eske le nombre de lignes obtenu est égal à 1(1 resultat).
                  1. corrige là d'abord:

                    //conditions
                    if(data['0']=="")
                    {
                    echo 'Auqun dons n\'a été fait ce mois-ci'
                    }