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 :

Tableau sortie d'image


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut Tableau sortie d'image
    Bonjour j'ai un petit soucis , je recherche une images par annonce via mon moteur de recherche , j'ai une erreur dans mon script au niveau mysql_num_rows(),

    Une idée svp?

    Je pense que dans le mysql_num_row() c'est de compter id_gal qui est le second index de ma table image mais comment le faire svp?

    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
     
          while($plus = mysql_fetch_assoc($data))
          {
          $image = $data["idA"];/**** elle existe bien tester avec echo c'est le résultat des recherches****/
     
    echo'<table>';
     
    $nbCol = 3;
    $query = 'SELECT * FROM im_annonce WHERE id_gal='.$image.' LIMIT 0,1'; /*********une seule image par annonce******/
    $result = mysql_query($query);
    $nb = mysql_num_rows($result);/****** l'erreur est ici **********/
    $nbLigne = ceil($nb/$nbCol);
     
        for($l=0;$l<$nbLigne;$l++)
        {
        echo'<tr>';
        for($c=0;$c<$nbCol;$c++)
        {
        if($ligne=mysql_fetch_array($result)){
     
            vignette('image_annonce/'.$ligne["gal"].'', 300, 175);
     
        echo'<td>'.$ligne["gal"].'</td>'; // nomCol = nom du champs
            }
        else {
            echo'<td>';
            vignette('image_annonce/nophoto.jpg', 300, 175);
     
            echo'<img src="MINIimage_annonce/nophoto.jpg" border="0" />';
            echo'</td>';
        }
        }
        echo'</tr>';
        }
        echo'</table>';
            }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par speedylol Voir le message
    Une idée svp?
    Ca devient très pénible, ces gens qui demandent si on a "une idée"...

    Je suppose qu'on doit aussi deviner quelle est la structure des tables, les champs et ce qu'ils contiennent ?

    Tiens, en voilà une, d'idée : fais des echo de tes variables, pour savoir ce qu'elles contiennent.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nb = mysql_num_rows($result);/****** l'erreur est ici **********/
    Quelle erreur ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    voici l'erreur que cela me marque.
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.8.1\new-himmo\search-val.php
    Voici la table mysql

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE `im_annonce` (
      `idg` int(4) NOT NULL auto_increment,
      `id_gal` varchar(150) NOT NULL default '',
      `gal` tinytext NOT NULL,
      `date` varchar(11) NOT NULL default '00-00-0000',
      PRIMARY KEY (`idg`)
    );

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Regarde la doc de mysql_query pour comprendre pourquoi tu as un booléen comme résultat.
    D'ailleurs, tu peux aussi en profiter pour lire l'avertissement en haut de la page !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    je viens de lire un tuto sur la jointure cela serait il la solution pour sortir , les données des table qui on une correspondance avec la valeur idA.

    Mais je vois pas très bien comment mettre cela en place seriez vous me guider vers la solution svp?

    Je vous en remercie

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Faudrait déjà apprendre à faire correctement ta requête pour voir ce qu'elle retourne avant de penser à faire des jointures.
    Ce qu'il fallait retenir dans le lien donné par Bovino c'est
    Pour les requêtes du type SELECT, SHOW, DESCRIBE, EXPLAIN et les autres requêtes retournant un jeu de résultats, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.
    Dans ton cas si tu n'as pas de ressource en sortie c'est que ta requête a retourné fasle (ce fameux boolean).
    Pour faire ta requête essaie plutôt une syntaxe de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT * FROM im_annonce WHERE id_gal='".mysql_real_escape_string($image)."' LIMIT 0,1";
    Ensuite pour voir les erreurs durant le développement tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_query($query) or die(mysql_error());
    ou sinon activer les erreurs mysql.

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    bonsoir ABCIWEB,

    J'ai trouvé l'astuce mysql que tu a noté, le soucis je n'est plus aucun erreur mais aucune photo s'affiche , pourtant elle sont bien dans la bdd?

    j'ai même teste par un echo ('$ligne['gal']'); aucun affichage .

    merci à vous tous pour votre aide

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Pour commencer à débugguer, après $nb = mysql_num_rows($result); tu peux déjà faire : echo $nb; pour savoir le nombre de lignes que retourne ta requête.

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Non pas encore fait merci, je teste et je te tiens au courant , merci cela fait Trois jours que je suis la dessus.

    Merci à tous

    je viens de faire le test résultat = 0


  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Merci à tous j'ai trouvé mon erreur

    Ancien code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          while($plus = mysql_fetch_assoc($data))
          {
          $image = $data["idA"]
    Code résolu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          while($plus = mysql_fetch_assoc($data))
          {
          $image = $plus["idA"]
    Les photos affiche mais je n'ai une une seule ligne alors que j'ai 24 photos avec une pagination de 3 pages et 10 photos par page.

  12. #12
    Invité
    Invité(e)
    Par défaut
    => Affichage de données dans un tableau HTML
    Affichage en Ligne ou en Colonne, provenant d'un array ou d'une Base de Données

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Bonsoir je reviens vers vous, je viens de tester une autre façon de procédé mais rien ne fait j'ai deux photos mais j'ai que une seule qui s'affiche

    voici les deux table ici dessous et le code une aide svp?



    Contenu de la table annonce

    |59|41AZSB|kendra|kendra@gmail.be|place du tombeux|4250|Belgique|Liege|Geer|2|4|019.32.28.74|0472.677.506|Maison à Vendre|400|0|2|65|45|2012-12-27|Particulier|petit appartement sympa|2012-12-23|0
    |60|Y96X6F|kendra|kendra@gmail.be|place du tombeux|4250|Belgique|Liege|Geer|2|4|019.32.28.74|0000.000.000|Maison à Louer|400|34|1|245|345|2012-12-25|Enchère|waza|2012-12-23|0


    table im_annonce igd-id_gal-photo-date

    |55|59|nophoto.jpg|2012-12-23
    |56|60|nophoto.jpg|2012-12-23



    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
          while($plus = mysql_fetch_assoc($data))
          {
          $_SESSION['image'] = $plus["idA"];
    	  $_SESSION['prix'] = $plus["prixb"];  
    	  }
    echo'<TABLE BORDER="0" WIDTH="90%" CELLSPACING="0" CELLSPACING="3">';
    $query = "SELECT * FROM im_annonce where id_gal=".$_SESSION['image']." limit 0,1";
    $result = mysql_query($query) or die(mysql_error());
     
    $k=0;
    while ($row=mysql_fetch_array($result))
    {
    $im[$k]=$row['gal'];
    $tab2[$k]=$_SESSION['prix'];
    $k++;
    }
    $MAX_COLUMN = 4;
    $MAX_ROW = ceil ( count( $tab2 ) / $MAX_COLUMN ) ;
    for ( $ism = 0; $ism < $MAX_ROW; $ism ++ )
    {
      echo "<tr>";
      for ( $j = 0; $j < $MAX_COLUMN; $j ++ )
      {
        $current = $ism + ( $j * $MAX_ROW );
        if (isset( $tab2[ $current ]))
        {
    	 miniature('image_annonce/'.$im[$current].'', 150, 100);			
         echo'<td width="100%"><table border="0" cellspacing="0" cellpadding="0">
              <tr>
              <td><table width="100%" border="0" cellspacing="4" cellpadding="4">
              <tr>
              <td valign="top""><img src="MINI11image_annonce/'.$im[$current].'" border="0"><br /><br />
              <strong>'.$tab2[$current].'&nbsp;€</strong></td>'; 
    	 echo"<td></td>
              </tr>
              </table>
              </td>
              </tr>
              <tr>
              <td>&nbsp;</td>
              </tr>
             </table></td>"; 
            }
         else break;
        }
      echo "</tr>";
    }
     
    echo"</TABLE>";

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    bonsoir je ne vois que la jointure entre la table annonce et la table im_annonce mais comme je n'est jamais cela j'aurais aimez une petite aide sur ce niveau de programmations svp pour sortir mais photos en tableau

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Bonsoir j'ai trouver la solutions le seul soucis que j'ai encore c'est que l'écart est trop grand entre chaque colonne c'est sur une petite erreur mais je la vois pas.

    un petit cout de pouce

    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
    echo'<table style="width:90%;left:0px;">';
         $k=0;
         while($plus = mysql_fetch_assoc($data))
          {
     
    $image[$k] =$plus["idA"];
    $idd[$k]=$plus["idA"];	
    $tab2[$k]=$plus["prixb"];
    $k++;
    }
    $MAX_COLUMN = 4;
    $MAX_ROW = ceil ( count( $tab2 ) / $MAX_COLUMN ) ;
    for ( $ism = 0; $ism < $MAX_ROW; $ism ++ )
    {
      echo "<tr>";
      for ( $j = 0; $j < $MAX_COLUMN; $j ++ )
      {
        $current = $ism + ( $j * $MAX_ROW );
        if (isset( $tab2[ $current ]))
        {			
         echo'<td><table style="width:auto;border:0px;">
              <tr>
              <td>
              <table style="width:auto;border:0px;">
              <tr>
              <td>';
    		$select=mysql_query("SELECT * FROM im_annonce WHERE id_gal=".$image[$current]." LIMIT 0,1");
    		if($result = mysql_fetch_object($select))
    		{
    		$im = $result->gal;
    	   	if (isset($im))
    		{	
            miniature('image_annonce/'.$im.'', 150, 100);
    		echo'<img src="MINI11image_annonce/'.$im.'" border="0" />';
    		}
    		else
    		{
    		echo'<img src="MINI11image_annonce/'.$im.'" border="0" />';
    		}
    	    }		  
    		echo'<br /><br />
              <strong>'.$tab2[$current].'&nbsp;€</strong></td>'; 
    	 echo"<td></td>
              </tr>
              </table>
              </td>
              </tr>
              <tr>
              <td>&nbsp;</td>
              </tr>
         </table>"; 
            }
         else break;
        }
     echo "</tr>";
    }
    echo"</table>";

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/08/2006, 13h14
  2. [JpGraph] poster un tableau dans une image JpGraph
    Par hokidoki dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/07/2006, 16h46
  3. Sortie tv - Image en noir et blanc
    Par Demco dans le forum Périphériques
    Réponses: 7
    Dernier message: 22/11/2003, 19h01

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