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 :

problem de codage php mysql foction if


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Points : 4
    Points
    4
    Par défaut problem de codage php mysql foction if
    salut a tous je suis actuellement a court d'idée

    je veux réalisé un code qui affiche la banniere de chaque membre qu'il on enregistre dans ma basse et ci ci aucune banne n'est activer il affiche un autre champs de ma basse que je d'effinie

    ma table sql ban_membres ca c'est ok
    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
     
    --
    -- structure de la table 'ban_membres'
    --
     
    CREATE TABLE `ban_membres` (
      `id_membre` varchar(40) NOT NULL,
      `url_img` varchar(255) NOT NULL,
      `url_site` varchar(255) NOT NULL,
      `credit` varchar(255) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `ban_membres`
    --
     
    INSERT INTO `ban_membres` (`id_membre`, `url_i`, `url_s`) VALUES
    ('1', 'url_ban enregistre par le membre', 'url de redirection de la banniere');
    voici le code que je veux crée :

    1) je recuper l'id du membre : $user = $_GET["user"]; ( sa semble ok )

    2)je verifie si le membre a enregistre une bannière grâce
    a son nom : table : "ban_membres" colone : "id_membre"
    "SELECT id_membre FROM ban_membres WHERE id_membre='$user'" ca je suis pas trop sur

    3)je verifie si la pub et active avec table : "ban_membres" colonne : "credit"

    4)si une bannière et enregistré avec le nom du membre et active j'affiche son code .
    <a href="<?=$registro["url_s"]?>"><img src="<?=$registro["url_i"]?>" border="0"></a>

    5)si aucune pub enregistre ou si non activé on affiche la table : "conf" colonne : "pub_defaut"

    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
     
    <?php
    $user = $_GET["user"];
    $checkmembre = "SELECT id_membre FROM ban_membres WHERE id_membre='$user'";
    $membre_exist = mysql_fetch_array($checkmembre);
    $result = mysql_query($checkmembre);       
    while ($registro = mysql_fetch_array($result))
     if ($credit == 0) //Si la pub n'est pas encore valide
    {
    ?>
    <a href="<?=$registro["url_s"]?>"><img src="<?=$registro["url_i"]?>" border="0"></a> 
    <?
    }
    else   //Si aucune pub enregistré
    {
    ?>
    <?=$pub_defaut ?>
    <?
    }
    ?>
    bon voila le code marche pas si vous avez une id sa serai cool

    merci d'avance

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Points : 28
    Points
    28
    Par défaut
    Bonjour.

    Je te propose de mettre des affichages de toutes tes variables a chaque étapes pour que tu sois sure si ça marche ou pas.
    (normalement ça aide)
    Good luck.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Un peu de ménage s'impose...
    - mysql_fetch_array s'applique uniquement une ressource renvoyée par mysql_query, pas sur une chaine de caractères.
    - Si tu veux utiliser le champ credit de ta table, il faudrait mieux le récupérer dans la requête.
    - je te déconseille la notation <?= ?> si tu n'as pas la main sur la configuration du serveur... short_open_tag
    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
    <?php
     
    $user = $_GET["user"];
    $checkmembre = "SELECT id_membre, credit, url_s, url_i FROM ban_membres WHERE id_membre='$user'";
     
    $result = mysql_query($checkmembre) or die ('Erreur sur '.$checkmembre.'<br/>'.mysql_error());       
    while ($registro = mysql_fetch_array($result))
    {
    	if ($registro['credit'] == 0) //Si la pub n'est pas encore valide
    	{
    		echo '<a href="<'.$registro['url_s'].'"><img src="'.$registro["url_i"].'" border="0"></a>';
    	}
    	else   //Si aucune pub enregistré
    	{
    		echo $pub_defaut; 
    	}
    }
    ?>
    Si ce n'est pas déjà le cas, je te conseille de passer le niveau d'affichage d'erreur au maximum, au moins pendant la phase de développement.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci Celira, votre code marche tres bien. je vous en remercie vraiment car pour mois c'est mes début et je comprend pas bien tous encore.

    Si ce n'est pas déjà le cas, je te conseille de passer le niveau d'affichage d'erreur au maximum, au moins pendant la phase de développement.
    heu c'est quoi ca et je fait ca comment ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    heu c'est quoi ca et je fait ca comment ?
    Regarde le paramètre error_reporting dans le fichier php.ini ou la fonction correspondante:
    http://fr.php.net/manual/fr/function...-reporting.php

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Le niveau d'affichage des erreurs détermine la gravité des erreurs qui s'affichent lorsque tu lances un script. (erreur, warning, notice...) En le mettant au maximum, toutes les erreurs même celles qui n'empêchent pas l'execution du script s'afficheront, ce qui te permet de faire un code le plus propre possible.

    ça se modifie soit dans le fichier php.ini en modifiant le paramètre error_reporting, soit temporairement dans le script en utilisant la fonction error_reporting.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. probleme de requete php/mysql
    Par ph_anrys dans le forum Requêtes
    Réponses: 5
    Dernier message: 06/03/2006, 15h26
  2. [SGBD] Y-a-t'il une solution a mon probleme visual basic-php-mysql
    Par enibris dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 28/02/2006, 11h52
  3. [SGBD] Probleme menu css /php / mysql / javascript
    Par vincedjs dans le forum Administration
    Réponses: 14
    Dernier message: 21/02/2006, 17h51
  4. [SGBD] [Problème insertion variable php/mysql]
    Par vincedjs dans le forum Installation
    Réponses: 20
    Dernier message: 08/02/2006, 16h41

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