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 :

requete sql dans if else selon get $var dans url [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Femme Profil pro
    Webdesigner
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut requete sql dans if else selon get $var dans url
    Bonjour,

    Nouvelle sur le forum et débutante en php, je fais appel à vos connaissances.


    sur une page dont l'url est type : http://localhost/.../fiche.php?menu=1&rubrique=1
    (le lien pour accéder à cette page est de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href="fiche.php?menu=<?php echo $ID_Rub=1 ?>&amp;rubrique=<?php echo $ID_Srub=1 ?>" title="Livres"><img src="images/picto1.png" /></a></li>
    maintenant la partie qui me pose problème :
    Je souhaiterai créer des requêtes selon les variables obtenues dans l'url

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    //connection.php à ma bdd
    <?php require_once('connection.php'); ?>
     
    //pour obtenir les variables de l'url
    <?php
    $ID_Rub = isset($_GET['menu']) ? mysql_real_escape_string($_GET['menu']) : '';
    $ID_Srub = isset($_GET['rubrique']) ? mysql_real_escape_string($_GET['rubrique']) : '';
    ?>
     
     
    $currentPage = $_SERVER["PHP_SELF"];
     
    $maxRows_rs_Pdt = 1;
    $pageNum_rs_Pdt = 0;
    if (isset($_GET['pageNum_rs_Pdt'])) {
      $pageNum_rs_Pdt = $_GET['pageNum_rs_Pdt'];
    }
    $startRow_rs_Pdt = $pageNum_rs_Pdt * $maxRows_rs_Pdt;
     
    // et là je commence à patauger... ci-dessous la dernière tentative mise en place : 
     
    mysql_select_db($database_web, $web);
     
     
    if ((isset($_GET['menu']) && $_GET['menu']!=NULL) && (isset($_GET['rubrique']) && $_GET['rubrique']!=NULL)){
    	// si menu et rubrique ne sont pas vides
    	$_req1;
    	//si non par défaut ID_Rub=1 et ID_Srub=0
    } else {
        $_req2;
    }
     
    //requête selon $var dans url
    $_req1 = $query_rs_Pdt("SELECT pdt.`Ref`, pdt.Int_Prod, pdt.Descr, pdt.ID_Rub, pdt.picto, pdt.ID_Srub, pdt.V1, pdt.V2, pdt.V3, pdt.Z1, pdt.Z2, pdt.Z3, rub.Int_Rub, srub.Int_Srub FROM pdt LEFT JOIN rub ON rub.ID_Rub = pdt.ID_Rub LEFT JOIN srub ON srub.ID_Srub = pdt.ID_Srub WHERE pdt.ID_Rub ='".mysql_real_escape_string($_GET['ID_Rub'])."' AND pdt.ID_Srub ='".mysql_real_escape_string($_GET['ID_Srub'])."'");
     
    //si pas de $var dans url, requête par défaut
    $_req2 = $query_rs_Pdt("SELECT pdt.`Ref`, pdt.Int_Prod, pdt.Descr, pdt.ID_Rub, pdt.picto, pdt.ID_Srub, pdt.V1, pdt.V2, pdt.V3, pdt.Z1, pdt.Z2, pdt.Z3, rub.Int_Rub, srub.Int_Srub FROM pdt LEFT JOIN rub ON rub.ID_Rub = pdt.ID_Rub LEFT JOIN srub ON srub.ID_Srub = pdt.ID_Srub WHERE pdt.ID_Rub = 1 AND pdt.ID_Srub = 2");
     
     
     
    $query_limit_rs_Pdt = sprintf("%s LIMIT %d, %d", $query_rs_Pdt, $startRow_rs_Pdt, $maxRows_rs_Pdt);
    $rs_Pdt = mysql_query($query_limit_rs_Pdt, $web) or die(mysql_error());
    $row_rs_Pdt = mysql_fetch_assoc($rs_Pdt);
     
    // ensuite il y a mes <div> contenant des echo tels que :
    //<?php echo $row_rs_Pdt['Z1']; ?>
     
     
    <?php mysql_free_result($rs_Pdt);?>
    J'ai une erreur sur la ligne commençant par $_req1 = $query_rs_Pdt("SELECT

    Donc, je voulais savoir comment procéder pour avoir une requête qui se fait selon que les variables de l'url soient renseignées ou non

    travaillant sur dreamweaver et étant débutante, merci d'être compréhensifs si le code vous parait "moche"
    et merci à tous par avance de m'aider à y voir plus clair !

  2. #2
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    tu peux déjà commencer par mettre ton script php correctement entre <?php et ?> et pas de morceaux en dehors

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php 
    //connection.php à ma bdd
    php require_once('connection.php'); 
    //pour obtenir les variables de l'url
    $ID_Rub = isset($_GET['menu']) ? mysql_real_escape_string($_GET['menu']) : '';
    $ID_Srub = isset($_GET['rubrique']) ? mysql_real_escape_string($_GET['rubrique']) : '';
     
    $currentPage = $_SERVER["PHP_SELF"];
     
    $maxRows_rs_Pdt = 1;
    $pageNum_rs_Pdt = 0;
    if (isset($_GET['pageNum_rs_Pdt'])) {
      $pageNum_rs_Pdt = $_GET['pageNum_rs_Pdt'];
    }
    $startRow_rs_Pdt = $pageNum_rs_Pdt * $maxRows_rs_Pdt;
    // et là je commence à patauger... ci-dessous la dernière tentative mise en place : 
    mysql_select_db($database_web, $web);
     
    if ((isset($_GET['menu']) && $_GET['menu']!=NULL) && (isset($_GET['rubrique']) && $_GET['rubrique']!=NULL)){
    	// si menu et rubrique ne sont pas vides
    	$_req1;
    	//si non par défaut ID_Rub=1 et ID_Srub=0
    } else {
        $_req2;
    }
     
    //requête selon $var dans url
    $_req1 = $query_rs_Pdt("SELECT pdt.`Ref`, pdt.Int_Prod, pdt.Descr, pdt.ID_Rub, pdt.picto, pdt.ID_Srub, pdt.V1, pdt.V2, pdt.V3, pdt.Z1, pdt.Z2, pdt.Z3, rub.Int_Rub, srub.Int_Srub FROM pdt LEFT JOIN rub ON rub.ID_Rub = pdt.ID_Rub LEFT JOIN srub ON srub.ID_Srub = pdt.ID_Srub WHERE pdt.ID_Rub ='".mysql_real_escape_string($_GET['ID_Rub'])."' AND pdt.ID_Srub ='".mysql_real_escape_string($_GET['ID_Srub'])."'");
     
    //si pas de $var dans url, requête par défaut
    $_req2 = $query_rs_Pdt("SELECT pdt.`Ref`, pdt.Int_Prod, pdt.Descr, pdt.ID_Rub, pdt.picto, pdt.ID_Srub, pdt.V1, pdt.V2, pdt.V3, pdt.Z1, pdt.Z2, pdt.Z3, rub.Int_Rub, srub.Int_Srub FROM pdt LEFT JOIN rub ON rub.ID_Rub = pdt.ID_Rub LEFT JOIN srub ON srub.ID_Srub = pdt.ID_Srub WHERE pdt.ID_Rub = 1 AND pdt.ID_Srub = 2");
     
    $query_limit_rs_Pdt = sprintf("%s LIMIT %d, %d", $query_rs_Pdt, $startRow_rs_Pdt, $maxRows_rs_Pdt);
    $rs_Pdt = mysql_query($query_limit_rs_Pdt, $web) or die(mysql_error());
    $row_rs_Pdt = mysql_fetch_assoc($rs_Pdt);
     
    // ensuite il y a mes <div> contenant des echo tels que :
    echo $row_rs_Pdt['Z1'];
     
     
    mysql_free_result($rs_Pdt);
     
    ?>
    ensuite donner le(s) message(s) d'erreur nous aideraient à t'aider.
    ce message vous a aidé ! Un petit click sur fait toujours plaisir

    "Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent." Bev Littlewood & Lorenzo Strigini

    "Le logiciel, c’est comme le sexe, c’est meilleur quand c’est libre/gratuit." Linus Torvalds

  3. #3
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    $query_rs_Pdt est une variable query_rs_Pdt sans le $ c'est un appel de fonction...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  4. #4
    Candidat au Club
    Femme Profil pro
    Webdesigner
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos réponses,
    Surtout un grand merci à ericd69, j'ai pu avancer d'un pas de géant(e) !

    j'ai donc corrigé mon code et ajouté un appel de fonction...
    Génial !

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

Discussions similaires

  1. Réponses: 19
    Dernier message: 13/04/2012, 08h30
  2. Réponses: 0
    Dernier message: 16/05/2011, 19h36
  3. Réponses: 13
    Dernier message: 05/05/2011, 09h41
  4. Réponses: 12
    Dernier message: 15/04/2009, 16h11
  5. Réponses: 3
    Dernier message: 17/06/2006, 23h15

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