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 :

Erreur myql pour une jointure simple [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut Erreur myql pour une jointure simple
    Bonjour, j'ai ceci comme erreur, quand j'essaie de faire une petite jointure simple. C'est pour faire une pagination. La pagination marche sans la jointure.
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND produittext.identifiant = produits.ID' at line 1
    Voici mon code si quelqu'un peut m'aider. Merci beaucoup :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <?php
    $requete = "SELECT produittext.titre, produittext.lang, produits.ID, produits.vignette ".
    "FROM produittext, produits ".
    "WHERE produittext.identifiant = produits.ID "; 
     
    $res = mysql_query($requete)or die  (mysql_error()); 
    $row = mysql_fetch_row($res);   
    $total = $row[0];   
    /* Libération du résultat */  
    mysql_free_result($res);   
    $colonne = 3;
    $i = 0;
     
    /* Déclaration des variables */  
    $epp = $appnumero; // nombre d'entrées à afficher par page (entries per page)   
    $countp = ceil($total/$epp); // calcul du nombre de pages $countp (on arrondit à l'entier supérieur avec la fonction ceil() ) 
     
    /* Récupération du numéro de la page courante depuis l'URL avec la méthode GET */  
    if(!isset($_GET['p']) || !is_numeric($_GET['p']) ) // si $_GET['p'] n'existe pas OU $_GET['p'] n'est pas un nombre (petite sécurité supplémentaire)   
    $current = 1; // la page courante devient 1   
    else  
    {   
    $page = intval($_GET['p']); // stockage de la valeur entière uniquement   
    if ($page < 1) $current=1; // cas où le numéro de page est inférieure 1 : on affecte 1 à la page courante   
    elseif ($page > $countp) $current=$countp; //cas où le numéro de page est supérieur au nombre total de pages : on affecte le numéro de la dernière page à la page courante   
    else $current=$page; // sinon la page courante est bien celle indiquée dans l'URL   
    }   
    /* $start est la valeur de départ du LIMIT dans notre requête SQL (est fonction de la page courante) */  
    $start = ($current * $epp - $epp);   
    /* Récupération des données à afficher pour la page courante */  
    $qry = "SELECT produittext.titre, produittext.lang, produits.ID, produits.vignette ".
    "FROM produittext, produits ".
    "WHERE produittext.identifiant = produits.ID ORDER BY produits.ID DESC LIMIT $start, $epp ";
    $res = @mysql_query($qry);   
    if ($res)   
    {   
    /* Affichage des données */  
    $var_application_news  = '<table width="100%" height="50" border="0" cellpadding="4" cellspacing="0">'; 
    while($item = mysql_fetch_array($res)) 
    {   
    $ID = $item['ID'];
    $titre = $item['categorie'];
     
    $numeroproduit = $item['numero'];
     
    $nom = $item['nom'];
    $productname = strtolower(func_filtrer($nom));
     
    $nomimage = $item['vignette'];
    $lien_photo = '<img src="'.$rep_vignettefiles;
    $lien_photo .= $nomimage.'"';
    $lien_photo .= ' title ='.'"'.$productname.'"';
    $lien_photo .= ' border="0">';
     
    if ($i%$colonne==0)
    {
    // On affiche une ligne
    $var_application_news  .= '<tr>';
    }
    if($i %$colonne !=0 OR $i %$colonne == 0)
    {// On affiche une colonne et la donn&eacute;e
    $detail_link = $lang.'/'.$titrepage.'/'.$productname.'/'.$varappage.'/detail/'.$product_find_var.'/'.$current.'/'.$numeroproduit;
    $var_application_news .='<td valign = " middle"><div align = " center ">';
    $var_application_news .= '<a href= "'.$detail_link.'" class ="bordVignette">';
    $var_application_news .= $lien_photo;
    $var_application_news .= '</a></div></td>';
    }
    $i++;
     
    if ($i%$colonne ==0){
    //On ferme la ligne
    $var_application_news  .= "</tr>";
    }
     
    }   
    $var_application_news  .= '</table>';  
    mysql_free_result($res);   
    }   
     
    ?>
    Mile fois mercis

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il n'y a pas de requete dans le code que tu nous montres qui correspondent à ton erreur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    jnore
    Invité(e)
    Par défaut
    Salut
    et comme ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $requete = "SELECT produittext.titre, produittext.lang, produits.ID, produits.vignette
    FROM produittext JOIN produits 
    ON(produittext.identifiant = produits.ID) ";

  4. #4
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut
    Merci beacoup jnore
    ça marche parfaitement. Le seul problème, c'est que avec ton code, je ne sais pas comment ajouter une deuxième condition where.

    J'ai fait ceci qui ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $requete = "SELECT produittext.titre, produittext.lang, produits.ID, produits.vignette
    FROM produittext JOIN produits 
    ON(produittext.identifiant = produits.ID) AND produittext.statut='nouveau' ";
    D'avance merci

  5. #5
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonsoir,

    juste en remplacant le AND par WHERE

  6. #6
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut
    ça marche comme sur les roulette
    Je suis content
    Merci à tous

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

Discussions similaires

  1. besoin d'aide pour une jointure avec une exclusion
    Par manu_71 dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/02/2007, 11h22
  2. Syntaxe pour une jointure
    Par alexandra dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/09/2006, 16h44
  3. [Oracle] : demande d'aide pour une jointure
    Par Gouzoul dans le forum Langage SQL
    Réponses: 10
    Dernier message: 27/04/2006, 11h39
  4. erreur généré pour une convertion de donnée
    Par poporiding dans le forum C++
    Réponses: 6
    Dernier message: 04/04/2006, 11h01
  5. le meilleur SGBD pour une application simple
    Par nousss77 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 23/09/2005, 07h45

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