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

Langage PHP Discussion :

Améliorer le temps d'affichage


Sujet :

Langage PHP

  1. #21
    Invité
    Invité(e)
    Par défaut
    Cher Michel,
    pour voir la structure et contenu d'une table, via PhpMyAdmin :
    • 1/ clique sur le nom de la table (colonne à gauche, où s'affichent les noms des tables)
    • 2/ ensuite, menu en haut, sur "exporter".
    • -> "Méthode d'exportation" -> "Rapide - n'afficher qu'un minimum d'options" (cliqué, par défaut)
    • 3/ cliquer sur le bouton "executer"
    • 4/ "Ouvrir avec" (notepad++ ?) : OK
    • 5/ là s'affichent :


    la structure + le contenu

    exemple :
    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
     
    --
    -- Structure de la table `fel`
    --
     
    CREATE TABLE IF NOT EXISTS `fel` (
      `id_fel` int(11) NOT NULL AUTO_INCREMENT,
      `FEAN` int(11) NOT NULL,
      `Editeur` varchar(255) NOT NULL,
      PRIMARY KEY (`id_fel`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
     
    --
    -- Contenu de la table `fel`
    --
     
    INSERT INTO `fel` (`id_fel`, `FEAN`, `Editeur`) VALUES
    (1, 22222222, 'didier'),
    (2, 77777777, 'aurelien'),
    (3, 11111111, 'victor'),
    (4, 66666666, 'hugo'),
    (5, 22222222, 'didier'),
    (6, 77777777, 'aurelien'),
    (7, 77777777, 'aurelien');
    C'est ce que j'aimerais voir de ta table...

  2. #22
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Voila,
    Bonne journée


    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    -- phpMyAdmin SQL Dump
    -- version 3.5.1
    -- http://www.phpmyadmin.net
    --
    -- Client: localhost
    -- Généré le: Ven 21 Août 2015 à 19:43
    -- Version du serveur: 5.5.24-log
    -- Version de PHP: 5.3.13
     
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
     
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
     
    --
    -- Base de données: `timbresdefrance`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `collec_0`
    --
     
    CREATE TABLE IF NOT EXISTS `collec_0` (
      `id` smallint(6) NOT NULL AUTO_INCREMENT,
      `num` text NOT NULL,
      `desi` text NOT NULL,
      `grav` text NOT NULL,
      `qtemis` text NOT NULL,
      `annee` text NOT NULL,
      `type` text NOT NULL,
      `couleur` text NOT NULL,
      `dent` text NOT NULL,
      `valfac` text NOT NULL,
      `info` text NOT NULL,
      `photo` text NOT NULL,
      `chemin_photo` text NOT NULL,
      `valneuf` decimal(10,2) NOT NULL DEFAULT '0.00',
      `valneufchar` decimal(10,2) NOT NULL DEFAULT '0.00',
      `valoblitere` decimal(10,2) NOT NULL DEFAULT '0.00',
      `dessin` text,
      `catalogue` text NOT NULL,
      `note` text NOT NULL,
      `annee_cote` text NOT NULL,
      `num_dallay` text NOT NULL,
      `cote_neuf_dallay` decimal(10,2) NOT NULL,
      `cote_char_dallay` decimal(10,2) NOT NULL,
      `cote_oblit_dallay` decimal(10,2) NOT NULL,
      `classement` text NOT NULL,
      `an_cote` decimal(10,2) NOT NULL,
      `libre4` decimal(10,2) NOT NULL,
      `libre5` decimal(10,2) NOT NULL,
      `Num_yvert` text NOT NULL,
      `num_logiciel` text NOT NULL,
      `impresion` text NOT NULL,
      `retrait` text NOT NULL,
      `phosphore` text NOT NULL,
      `libre6` int(11) NOT NULL,
      `libre7` text NOT NULL,
      `libre8` int(11) NOT NULL,
      `libre9` text NOT NULL,
      `libre10` int(11) NOT NULL,
      `libre11` text NOT NULL,
      `libre12` int(11) NOT NULL,
      `libre13` text NOT NULL,
      `libre14` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8285 ;
     
    --
    -- Contenu de la table `collec_0`
    --
     
    INSERT INTO `collec_0` (`id`, `num`, `desi`, `grav`, `qtemis`, `annee`, `type`, `couleur`, `dent`, `valfac`, `info`, `photo`, `chemin_photo`, `valneuf`, `valneufchar`, `valoblitere`, `dessin`, `catalogue`, `note`, `annee_cote`, `num_dallay`, `cote_neuf_dallay`, `cote_char_dallay`, `cote_oblit_dallay`, `classement`, `an_cote`, `libre4`, `libre5`, `Num_yvert`, `num_logiciel`, `impresion`, `retrait`, `phosphore`, `libre6`, `libre7`, `libre8`, `libre9`, `libre10`, `libre11`, `libre12`, `libre13`, `libre14`) VALUES
    (1, ' 0001BM ', '  Ballon monté  ', '.', 'x', '1870', '.', 'x', 'x', 'x', 'Lettre affranchie d''un 20c bleu Cérès émission dites du siège, au départ de Paris et à destination de Lyon. Partie le 6/1/1871 et arrivée le 18/01/71, la lettre a voyagé par ballon, la capitale étant assiégée par les Allemands. Le timbre a été oblitéré de l''étoile chiffrée numéro 22. La date de départ et la date d''arrivée permettent de connaître le nom du ballon ''Le Dusquene''.', '0001BM.gif', 'x', '0.00', '0.00', '0.00', 'x', 'Yvert et Tellier', 'att', 'att', 'x', '0.00', '0.00', '0.00', 'x', '0.00', '0.00', '0.00', '0001BM', 'x', 'x', 'x', 'x', 0, '', 0, '', 0, '', 0, '', 0),
    (2, ' 0002BM ', '  Ballon monté  ', '.', 'x', '1870', '.', 'x', 'x', 'x', 'Lettre destinée à la russie', '0002BM.gif', 'x', '0.00', '0.00', '0.00', 'x', 'Yvert et Tellier', 'att', 'att', 'x', '0.00', '0.00', '0.00', 'x', '0.00', '0.00', '0.00', '0002BM', 'x', 'x', 'x', 'x', 0, '', 0, '', 0, '', 0, '', 0),
    (3, ' 001 ', ' Cérès ', 'Jacques Jean Barre', '17.059.500', '1849', '.', 'bistre jaune', 'non Dentelé', '10 c', '.', '0001.jpg', 'images/image_1_a_216/', '2750.00', '0.00', '340.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '5', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 1', 'x', 'Typographie', '1853', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (4, ' 002 ', ' Cérès ', 'Jacques Jean Barre', '3.309.900', '1849', '.', 'vert', 'non Dentelé', '15 c', '.', '0002.jpg', 'images/image_1_a_216/', '25000.00', '0.00', '1000.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '6', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 2', 'x', 'Typographie', '1 juillet 1853.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (5, ' 003 ', ' Cérès ', 'Jacques Jean Barre', '41.700.000', '1849', '.', 'noir sur jaune', 'non Dentelé', '20 c', '.', '0003.jpg', 'images/image_1_a_216/', '650.00', '0.00', '60.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '1', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 3', 'x', 'Typographie', 'octobre 1850.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (6, ' 004 ', ' Cérès ', 'Jacques Jean Barre', '45.218.100', '1849', '.', 'bleu', 'non Dentelé', '25 c', '.', '0004.jpg', 'images/image_1_a_216/', '8000.00', '0.00', '60.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '7', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 4', 'x', 'Typographie', '1853', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (7, ' 005 ', ' Cérès ', 'Jacques Jean Barre', '4.100.000', '1849', '.', 'orange', 'non Dentelé', '40 c', 'le 1er décembre 1849 une circulaire portant une moitié de  1 f carmin (N°6) fut envoyée au bureau. de poste, afin de procéder au retrait des timbres vermillion dont la couleur etait proche de celle des 40 c orange, imprimés depuis avril 1849 mais qui ne furent émis qu''en 1850.', '0005.jpg', 'images/image_1_a_216/', '5500.00', '0.00', '500.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '2', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 5', 'x', 'Typographie', 'fin 1853.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (8, ' 0005d ', ' Cérès ', 'Jacques Jean Barre', '4.100.000', '1849', '.', 'orange', 'non Dentelé', '40 c', '', '0005d.jpg', 'images/image_1_a_216/', '30000.00', '0.00', '7000.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '2', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 5d', 'x', 'Typographie', 'octobre 1853.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (9, ' 006 ', ' Cérès ', 'Jacques Jean Barre', '2.151.600', '1849', '.', 'Carmin foncé', 'non Dentelé', '1 f', '.', '0006.jpg', 'images/image_1_a_216/', '15000.00', '0.00', '950.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '4', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 6', 'x', 'Typographie', 'octobre 1853.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (10, ' 0006A ', '  Cérès  ', 'Jacques Jean Barre', '.', '1849', '.', 'rouge-brun', 'non Dentelé', '1 f', '.', '0006A.jpg', 'images/image_1_a_216/', '26000.00', '0.00', '2700.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '4b', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 6A', 'x', 'Typographie', 'octobre 1853.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (11, ' 0006B ', '  Cérès  ', 'Jacques Jean Barre', '2.151.600', '1849', '.', 'Carmin-brun', 'non Dentelé', '1 f', '.', '0006B.jpg', 'images/image_1_a_216/', '16000.00', '0.00', '1000.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '4c', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 6B', 'x', 'Typographie', 'décembre 1849.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (12, ' 007 ', '  Cérès  ', 'Jacques Jean Barre', '509.700.', '1849', '.', 'vermillion', 'non Dentelé', '1 f', 'le 1er décembre 1849 une circulaire portant une moitié de  1 f carmin (N°6) fut envoyée au bureau. de poste, afin de procéder au retrait des timbres vermillion dont la couleur etait proche de celle des 40 c orange, imprimés depuis avril 1849 mais qui ne furent émis qu''en 1850.', '0007.jpg', 'images/image_1_a_216/', '100000.00', '0.00', '20000.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '3', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 7', 'x', 'Typographie', 'décembre 1849.', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (13, ' 0007A ', '  Cérès  ', 'Jacques Jean Barre', '509.700.', '1850', '.', 'vermillion pâle', 'non Dentelé', '1 f', 'le 1er décembre 1849 une circulaire portant une moitié de  1 f carmin (N°6) fut envoyée au bureau. de poste, afin de procéder au retrait des timbres vermillion dont la couleur etait proche de celle des 40 c orange, imprimés depuis avril 1849 mais qui ne furent émis qu''en 1850.', '0007A.jpg', 'images/image_1_a_216/', '28000.00', '0.00', '0.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '3', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 7A', 'x', 'Typographie', '', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (14, ' 008 ', '  Cérès  ', 'Jacques Jean Barre', '', '1849', '.', 'bleu sur jaune', 'non Dentelé', '20 c', 'non émis', '0008.jpg', 'images/image_1_a_216/', '3600.00', '0.00', '0.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '1A', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 8', 'x', 'Typographie', '', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (15, ' 0008A ', '  Cérès  ', 'Jacques Jean Barre', 'non émis', '1850', '.', 'bleu', 'non Dentelé', '25 c sur 20 c', '.', '0008A.jpg', 'images/image_1_a_216/', '26000.00', '0.00', '0.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '1B', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 8A', 'x', 'Typographie', 'fin 1854', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (16, ' 009 ', '  Prince président Louis Napoléon  ', 'Jacques Jean Barre', '8.226.600', '1852', '.', 'bistre jaune', 'non Dentelé', '10 c', 'Légende: REPUB. FRANC. B sous le cou. Typographie Papier teinté', '0009.jpg', 'images/image_1_a_216/', '45000.00', '0.00', '750.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '8', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 9', 'x', 'Typographie', 'juin 1854', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (17, ' 010 ', '  Prince président Louis Napoléon  ', 'Jacques Jean Barre', '23.844.300', '1852', '.', 'bleu', 'non Dentelé', '25 c', 'Légende: REPUB. FRANC. B sous le cou. Typographie Papier teinté', '0010.jpg', 'images/image_1_a_216/', '5000.00', '0.00', '40.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '9', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 10', 'x', 'Typographie', 'fin 1862', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (18, ' 011 ', '  Napoléon III  ', 'Jacques Jean Barre', '160.861.000', '1853-1860', '.', 'olive', 'non Dentelé', '1 c', 'Napoléon III Légende : EMPIRE FRANC..Typographie Papier teinté', '0011.jpg', 'images/image_1_a_216/', '260.00', '0.00', '90.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '10', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 11', 'x', 'Typographie', '1860/1861 et debut 1863', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (19, ' 012 ', '  Napoléon III  ', 'Jacques Jean Barre', '75.040.000', '1853-1860', '.', 'vert', 'non Dentelé', '5 c', 'Napoléon III Légende : EMPIRE FRANC..Typographie Papier teinté', '0012.jpg', 'images/image_1_a_216/', '1300.00', '0.00', '90.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '11', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 12', 'x', 'Typographie', '1861', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (20, ' 0013A ', '  Napoléon III  ', 'Jacques Jean Barre', '223.015.900', '1853-1860', 'type I', 'bistre', 'non Dentelé', '10 c', 'Napoléon III Légende : EMPIRE FRANC..Typographie Papier teinté', '0013A.jpg', 'images/image_1_a_216/', '850.00', '0.00', '12.00', 'Jacques Jean Barre', 'Yvert et Tellier', 'att', 'att', '12 I', '0.00', '0.00', '0.00', 'classique', '2015.00', '0.00', '0.00', 'N° 13A', 'x', 'Typographie', 'fin 1862', 'sans', 0, '', 0, '', 0, '', 0, '', 0);
     
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  3. #23
    Invité
    Invité(e)
    Par défaut
    Bonjour Michel,

    On voit tout de suite le problème : ' 0001BM ', ' 0002BM ',... : tes `num` sont enregistrés avec un espace avant et un espace après ! (les `desi` aussi)
    Normal que ça ne "matche" pas...

    Avant d'aller plus loin, et de mettre des "rustines" dans ton code : NETTOIE LA BASE DE DONNÉES !

    Voici une requête très simple, que tu peux appliquer directement dans PhpMyAdmin :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE `collec_0` SET
    num = TRIM(num),
    desi = TRIM(desi)
    Tu peux l'adapter pour d'autres tables et/ou d'autres champs.

    N.B. A L'AVENIR, Pour éviter ces espaces : c'est au moment de l'enregistrement des données qu'il faut appliquer :
    • trim() (en PHP sur les variables, de préférence),
    • OU TRIM() (en SQL, dans les requêtes d'insertion/modification, comme ci-dessus)
    Dernière modification par Invité ; 22/08/2015 à 10h30.

  4. #24
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Bon, ça avance un peu

    j'espère que ta patiente est reconnue par tous !!!!

    Voila le résultat des var_dump

    object(mysqli_result)[2]
    public 'current_field' => null
    public 'field_count' => null
    public 'lengths' => null
    public 'num_rows' => null
    public 'type' => null


    array (size=1)
    'num' => string 'num' (length=3)

    Mais je ne récupère toujours rien dans mes variables (Undefined index: desi)

    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
    						$i=0; 
    						$query = "SELECT 'num' FROM collec_0 WHERE num IN ('". implode("','" ,$tab) ."')";
    						$result = mysqli_query($base_gene, $query);
    						var_dump($result);
    						if($result === false ) 	echo 'Erreur SQL : '.mysqli_error($base_gene);
    							while ($row = mysqli_fetch_assoc($result))
    								{
     
    										var_dump($row);										
    										$desi[$i]=utf8_encode(trim($row['desi']));
    										$num[$i]=utf8_encode(trim($row['Num_yvert']));
    										$desi[$i]='"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    										//}
    							   		$i++;
    							   }
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  5. #25
    Invité
    Invité(e)
    Par défaut
    1/ As-tu appliqué la requête que je t'ai montrée (avec ls TRIM(..) ) ?

    2/ Si le teste cette requête (directement dans PhpMyAdmin) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM collec_0 WHERE num IN ('0001','0002','0003','0004','0005','0006','0007','0008','0008A','0009','0010','0011','0012','0013A','0013B','0014A','0014B','0015','0016','0017A','0017B','0018')
    j'obtiens 2 résultats :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    15 	0008A	Cérès
    20 	0013A	Napoléon III
    Par contre, il n'y à pas de '0001','0002','0003',... dans la table mais des '001','002','003',... !

    3/ Es-tu sûr de savoir ce que tu cherches ???
    Question subsidiaire : à partir de quoi fabriques-tu l'array $tab ?

  6. #26
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    1) oui j'ai lancé la requête

    2) si je fais le même test dans PhpMyAdmin j'ai le bon résultat (pour la page 2006)

    3) test sur la page (toujours 2006) Ok ça marche. Je m'occupe de reprendre le tableau pour les premières pages

    4) pourquoi sur mon premier script je n'ai pas de problème ?? (celui avec la boucle for)

    Merci à toi et bon week end j'espère ne plus trop emm.... le monde avec mes problèmes
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  7. #27
    Invité
    Invité(e)
    Par défaut
    4) ->parce que tu utilisais trim() dans la condition.

  8. #28
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Bonsoir,

    C'était trop beau !!!

    Le problème se situe au niveau des items qui commencent par une lettre par exemple BF01 n'est pas pris en compte et cela me décale toutes mes désignations.
    Lorsque je teste directement dans PhpMyadim en faisant =BF01 je trouve bien la ligne mais pas dans le script. J'espère que mes explications sont assez claires.

    pour mémoire le script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    						$i=0; 
    						$query = "SELECT * FROM collec_0 WHERE num IN ('". implode("','" ,$tab) ."')";
    						$result = mysqli_query($base_gene, $query);
    						if($result === false ) 	echo 'Erreur SQL : '.mysqli_error($base_gene);
    							while ($row = mysqli_fetch_assoc($result))
    								{
     
    										$desi[$i]=utf8_encode(trim($row['desi']));
    										$num[$i]=utf8_encode(trim($row['Num_yvert']));
    										$desi[$i]='"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    										//}
    							   		$i++;
    							   }
    Extrait de la table c'est la ligne 5479 qui pose problème

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    -- phpMyAdmin SQL Dump
    -- version 3.5.1
    -- http://www.phpmyadmin.net
    --
    -- Client: localhost
    -- Généré le: Sam 22 Août 2015 à 18:22
    -- Version du serveur: 5.5.24-log
    -- Version de PHP: 5.3.13
     
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
     
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
     
    --
    -- Base de données: `timbresdefrance`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `collec_0_back_2`
    --
     
    CREATE TABLE IF NOT EXISTS `collec_0_back_2` (
      `id` smallint(6) NOT NULL AUTO_INCREMENT,
      `num` text NOT NULL,
      `desi` text NOT NULL,
      `grav` text NOT NULL,
      `qtemis` text NOT NULL,
      `annee` text NOT NULL,
      `type` text NOT NULL,
      `couleur` text NOT NULL,
      `dent` text NOT NULL,
      `valfac` text NOT NULL,
      `info` text NOT NULL,
      `photo` text NOT NULL,
      `chemin_photo` text NOT NULL,
      `valneuf` decimal(10,2) NOT NULL DEFAULT '0.00',
      `valneufchar` decimal(10,2) NOT NULL DEFAULT '0.00',
      `valoblitere` decimal(10,2) NOT NULL DEFAULT '0.00',
      `dessin` text,
      `catalogue` text NOT NULL,
      `note` text NOT NULL,
      `annee_cote` text NOT NULL,
      `num_dallay` text NOT NULL,
      `cote_neuf_dallay` decimal(10,2) NOT NULL,
      `cote_char_dallay` decimal(10,2) NOT NULL,
      `cote_oblit_dallay` decimal(10,2) NOT NULL,
      `classement` text NOT NULL,
      `an_cote` decimal(10,2) NOT NULL,
      `libre4` decimal(10,2) NOT NULL,
      `libre5` decimal(10,2) NOT NULL,
      `Num_yvert` text NOT NULL,
      `num_logiciel` text NOT NULL,
      `impresion` text NOT NULL,
      `retrait` text NOT NULL,
      `phosphore` text NOT NULL,
      `libre6` int(11) NOT NULL,
      `libre7` text NOT NULL,
      `libre8` int(11) NOT NULL,
      `libre9` text NOT NULL,
      `libre10` int(11) NOT NULL,
      `libre11` text NOT NULL,
      `libre12` int(11) NOT NULL,
      `libre13` text NOT NULL,
      `libre14` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8285 ;
     
    --
    -- Contenu de la table `collec_0_back_2`
    --
     
    INSERT INTO `collec_0_back_2` (`id`, `num`, `desi`, `grav`, `qtemis`, `annee`, `type`, `couleur`, `dent`, `valfac`, `info`, `photo`, `chemin_photo`, `valneuf`, `valneufchar`, `valoblitere`, `dessin`, `catalogue`, `note`, `annee_cote`, `num_dallay`, `cote_neuf_dallay`, `cote_char_dallay`, `cote_oblit_dallay`, `classement`, `an_cote`, `libre4`, `libre5`, `Num_yvert`, `num_logiciel`, `impresion`, `retrait`, `phosphore`, `libre6`, `libre7`, `libre8`, `libre9`, `libre10`, `libre11`, `libre12`, `libre13`, `libre14`) VALUES
    (5471, '2011-92', 'Fêtes et traditions de nos régions', '.', '', '2011', '', 'Multicolore', 'Dentelé 11', '12 x 0.58 €', '.', '2011-92.jpg', 'images/image-2011/', '0.00', '0.00', '0.00', 'Agence Grenade', 'Yvert et Tellier', 'Emis en carnet de 12 timbres autoadhésif', 'att', 'x', '0.00', '0.00', '0.00', 'carnet', '2013.00', '0.00', '0.00', 'Bande carnet', '', 'Héliogravure et Offset', '', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (5472, '', '', '', '400.000.', '2014', '', 'vert', '', 'Lettre verte 20G', '', '', 'images/image-2014/', '0.00', '0.00', '0.00', 'Stéphanie Ghinéa', 'Yvert et Tellier', 'Emis en carnet de 12 timbres autoadhésif', 'att', 'x', '0.00', '0.00', '0.00', 'carnet', '2014.00', '0.00', '0.00', 'Carnet La lettre verte à 3 ans', '', 'Taille douce', '', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (5473, '', '', '', '', '', '', '', '', '', '', '', '', '0.00', '0.00', '0.00', '', '', '', '', '', '0.00', '0.00', '0.00', '', '0.00', '0.00', '0.00', '', '', '', '', '', 0, '', 0, '', 0, '', 0, '', 0),
    (5474, '', '', '', '', '', '', '', '', '', '', '', '', '0.00', '0.00', '0.00', '', '', '', '', '', '0.00', '0.00', '0.00', '', '0.00', '0.00', '0.00', '', '', '', '', '', 0, '', 0, '', 0, '', 0, '', 0),
    (5475, '', '', '', '', '', '', '', '', '', '', '', '', '0.00', '0.00', '0.00', '', '', '', '', '', '0.00', '0.00', '0.00', '', '0.00', '0.00', '0.00', '', '', '', '', '', 0, '', 0, '', 0, '', 0, '', 0),
    (5476, '', '', '', '', '', '', '', '', '', '', '', '', '0.00', '0.00', '0.00', '', '', '', '', '', '0.00', '0.00', '0.00', '', '0.00', '0.00', '0.00', '', '', '', '', '', 0, '', 0, '', 0, '', 0, '', 0),
    (5477, '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '0.00', '0.00', '0.00', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '0.00', '0.00', '0.00', '$$$$$$$$$$', '0.00', '0.00', '0.00', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', '$$$$$$$$$$', 0, '$$$$$$$$$$', 0, '$$$$$$$$$$', 0, '$$$$$$$$$$', 0, '', 0),
    (5478, 'bloc_cheffer', '', 'Cheffer', '', '', '', '', '', '', '', 'bloc_cheffer', 'images/image_1368_a_1581/', '0.00', '0.00', '0.00', '', '', '', '', '', '0.00', '0.00', '0.00', '', '2013.00', '0.00', '0.00', 'Bloc feuillet non référencé', '', '', '', '', 0, '', 0, '', 0, '', 0, '', 0),
    (5479, 'BF01', 'Exposition philatélique internationale de Paris', 'Louis Eugene Mouchon', '.', '1925', '.', 'blanc rouge', '.', '5 f et 10 f', 'Timbre N° 216 en bloc de quatre dans un cadre de 140 x 220 avec inscription ''E.POSITION INTERNATIONALE DE TIMBRES POSTE émission spéciale PARIS 1925''', 'BF01.jpg', 'images/image_1_a_216/', '4750.00', '1500.00', '1500.00', 'Jules Auguste Sage', 'Yvert et Tellier', 'att', 'att', '197', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 1', 'x', 'Typographie', '.12 mai 1925', 'sans', 0, '', 0, '', 0, '', 0, '', 0),
    (5480, 'BF02', 'Exposition philatélique de Strasbourg', '.', '.', '1927', '.', 'bleu blanc rouge', '14 x 13 demi', '5 f et 10 f', 'Semeuse fond plein@.sur feuillet de 110 . 140 et séparé par un intervalle blanc avec inscription bleu ''STRASBOURG''', 'BF02.jpg', 'images/image_216_371/', '3000.00', '1350.00', '1350.00', '.', 'Yvert et Tellier', 'att', 'att', '236B', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 2', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5481, 'BF03', 'Exposition philatélique de Paris', '.', '.', '1937', '.', 'bleu blanc rouge', '14 x 13 demi', '5 c et 15 c et 30 c et 50 c', 'Bloc de 4 timbres N° 348 à 351 Type Cérès de 1849-1850 avec inscription centrale ''PE.IP Paris 1937''', 'BF03.jpg', 'images/image_216_371/', '800.00', '450.00', '400.00', '.', 'Yvert et Tellier', 'att', 'att', '354A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 3', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5482, 'BF04', 'Marianne de Dulac', '.', '.', '1945', '.', 'rouge', '11 demi 12 demi', '2 f 40', 'Série de Londre', 'BF04.jpg', 'images/image_538_747/', '9000.00', '6000.00', '0.00', '.', 'Yvert et Tellier', 'att', 'att', '718A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 4', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5483, 'BF05', 'Exposition philatélique de Paris (CITEX)', '.', '1.300.000 blocs', '1949', '.', 'vermillion', '13', '10 f (+100 f)', 'Emis en bloc feuillet. Le pri. de 100 f donnait accès à l''e.position', 'BF05.jpg', 'images/image_748_877/', '900.00', '600.00', '600.00', '.', 'Yvert et Tellier', 'att', 'att', '857A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 5', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5484, 'BF06', 'Exposition philatélique internationale PHILATEC à Paris', '.', '.', '1964', '.', '.', '.', '.', 'Bloc feuillet composé de 8 timbres N° 1422', 'BF06.jpg', 'images/image_1368_1581/', '300.00', '0.00', '230.00', '.', 'Yvert et Tellier', 'att', 'att', '1454A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 6', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5485, 'BF07', 'Arphila 75', '.', '2.300.000 blocs feuillets', '1975', '.', '.', 'Dentelé 13 x 13/demi', '.', 'Bloc feuillet comprenant les timbres N° 1834, 1835, 1836 et 1837', 'BF07.jpg', 'images/image_1783_2027/', '12.00', '0.00', '12.00', '.', 'Yvert et Tellier', 'att', 'att', '1873A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 7', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5486, 'BF08', 'Exposition philatélique internationale PHILATEXFRANCE 82 à Paris', '.', '.', '1982', '.', '.', '.', '.', 'Bloc feuillet composé des timbres N° 2216 et 2217 réunis sur un feuillet de 100 . 71.5 avec une vignette centrale sans valeur sur laquelle figure le logo de l''e.position', 'BF08.jpg', 'images/image_2028_2251/', '12.00', '0.00', '12.00', '.', 'Yvert et Tellier', 'att', 'att', '2275A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 8', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5487, 'BF09', 'Cinquentenaire de la cinémathèque française', '.', '.', '1986', '.', '.', '.', '.', 'Bloc feuillet composé de 10 timbres N° 2433 et 2442', 'BF09.jpg', 'images/image_2252_2500/', '15.00', '0.00', '15.00', '.', 'Yvert et Tellier', 'att', 'att', '2491A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 9', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5488, 'BF10', 'Personnage célèbres de la révolution', '.', '.', '1989', '.', '.', '.', '.', 'Bloc feuillet de 78 . 105 composé des timbres N° 2592 à 2595', 'BF10.jpg', 'images/image_2501_3041/', '5.00', '0.00', '5.00', '.', 'Yvert et Tellier', 'att', 'att', '2635A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 10', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5489, 'BF11', 'Bicentenaire de la résolution et de la déclaration des droits de l''homme', '.', '.', '1989', '.', '.', '.', '.', 'Bloc feuillet de 130 . 143 composé des timbres N° 2596 à 2599', 'BF11.jpg', 'images/image_2501_3041/', '15.00', '0.00', '15.00', '.', 'Yvert et Tellier', 'att', 'att', '2639A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 11', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0),
    (5490, 'BF12', 'Bicentenaire de la révolution', '.', '.', '1990', '.', '.', '.', '.', 'Bloc feuillet de 78 . 105 composé des timbres N° 2677 à 2670', 'BF12.jpg', 'images/image_2501_3041/', '5.00', '0.00', '5.00', '.', 'Yvert et Tellier', 'att', 'att', '2710A', '0.00', '0.00', '0.00', 'bloc', '2013.00', '0.00', '0.00', 'Bloc feuillet N° 12', '', '', '', '.', 0, '', 0, '', 0, '', 0, '', 0);
     
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    Désole de jouer les rabat-joie
    Cordiaalement
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  9. #29
    Invité
    Invité(e)
    Par défaut
    Et si tu montrais à chaque fois quelle requête tu cherches à faire ?
    Car cette fois, même le nom de la table est différent...
    (tu montres la table 'collec_0_back_2' alors que la requête indique 'collec_0')

    J'ai de plus en plus la sensation que tu as construit une usine à gaz, et que tu ne la maitrises plus...


    N.B. Normalement, c'est l'id qui est utilisé dans les liens / requêtes car il est UNIQUE pour chaque ligne.
    Là, ton 'num' prend n'importe quoi comme valeur !
    • C'est quoi ? Une référence ?
    • Est-il censé être unique lui aussi ?

    Et $tab ??
    à partir de quoi tu le construis ??

    On ne comprend pas ce que tu veux faire...
    EXPLIQUE-NOUS depuis le début !?
    Dernière modification par Invité ; 23/08/2015 à 09h03.

  10. #30
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Bon je reprend.

    La table est toujours la même là j'ai fait une copie pour faire des essais et montrer que "num" peut est numérique, string ou vide

    Pour bien comprendre le raisonnement voici un extrait de la page 'p2006'

    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
     
    <?php
    session_start();
    $_SESSION['chemin']="";
    require_once('../connex_mysqli/connex_base_gene.php');
    $_SESSION['lien']=$_SESSION["adresse_site"]."collection/pag2006.php";
    $_SESSION['page']=$_SESSION['lien'];
    if(!isset($_SESSION['pseudo'])) $_SESSION['pseudo']="";
     
    $tab=array('3861','3862','3863','3864','BF93','3865','F3865','BS6','3866','3867','3868','3869','3870','3871','3872','3873',
    '3874','3875','BC3866','3876','3877','3878','3879','T3877a','BC3877a','3880','3881','3882','3883','3884','3890','3885','3886',
    '3887','3888','3889','3891','BF94','3892','3893','3894','3895','3896','BF95','3897','3898','3899','3900','BF96','3901','3902','3903',
    '3904','BC3904','3905','3906','3907','3908','3909','BF97','3910','3911','3912','3913','3914','3915','3916','3917','3918',
    '3919','3920','3921','3922','BF98','BS7','BS8','BS9','BS10','BS11','BS12','3923','3924','3925','3926','3927','BF100','3928','3929',
    '3930','3931','BF101','3932','3933','3934','3935','BS13');
    $fin=count($tab);
    include('../script/texte_page.php');
    ?>
     <?php include('../recherche/script_recherche/script_gene.php'); ?>
    <!DOCTYPE html>
    <html>
        <head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    		<META NAME="google-site-verification" content="pJ2uw5YqZe638MDAnnwCfTNj9QNZxQtdLDRBumqDXbU" />
    		<META NAME="viewport" content="width=device-width, initial-scale=1.0" />
            <title>Timbres de la Saint Valentin, Spirou bande dessinée, les opéras de Mozart </title>
    		<META NAME="description" content="Les timbres de l'année 2006">
    		<META NAME="keywords" CONTENT=" <?php include('../script/keywords.html'); ?>">
    		<META NAME="robots" CONTENT="all">
    		<META NAME="REVISIT-AFTER" CONTENT="3 days">
        	<link rel="stylesheet" href="../css/style_base_collec.css" media="all" type="text/css"/>
        	<link rel="stylesheet" href="../css/style_menu.css" media="all" type="text/css"/>
        	<link rel="stylesheet" href="../css/style_formulaire.css" media="all" type="text/css"/>
    </head>
     
     
     
     
    <figure id="<?php echo $tab[0]; ?>" class="img-timbre">
    				<a href="pop.php?ligne=<?php echo $tab[0]; ?>"><img src="../image/image-2006/3861.jpg" width="150" height="150" border="0" alt=<?php echo $desi[0]; ?>/></a> <figcaption><?php echo $num[0]; ?></figcaption>
     </figure>
    <figure id="<?php echo $tab[1]; ?>" class="img-timbre">
    				<a href="pop.php?ligne=<?php echo $tab[1]; ?>"><img src="../image/image-2006/3862.jpg" width="150" height="150" border="0" alt=<?php echo $desi[1]; ?>/></a> <figcaption><?php echo $num[1]; ?></figcaption>
     </figure>
    <figure id="<?php echo $tab[2]; ?>" class="img-timbre">
    				<a href="pop.php?ligne=<?php echo $tab[2]; ?>"><img src="../image/image-2006/3863.jpg" width="150" height="150" border="0" alt=<?php echo $desi[2]; ?>/></a> <figcaption><?php echo $num[2]; ?></figcaption>
     </figure>
     <figure id="<?php echo $tab[3]; ?>" class="img-timbre">
    				<a href="pop.php?ligne=<?php echo $tab[3]; ?>"><img src="../image/image-2006/3864.jpg" width="150" height="150" border="0" alt=<?php echo $desi[3]; ?>/></a> <figcaption><?php echo $num[3]; ?></figcaption>
     </figure>
     <p>&nbsp; </p>
     
     <figure id="<?php echo $tab[4]; ?>" class="img-timbre">
    				<a href="pop.php?ligne=<?php echo $tab[4]; ?>"><img src="../image/image-2006/BF93.jpg" width="350" height="370" border="0" alt=<?php echo $desi[4]; ?>/></a> <figcaption><?php echo $num[4]; ?></figcaption>
     </figure>
     <p>&nbsp; </p>
    script "texte_page.php"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    						$i=0; 
    						$query = "SELECT * FROM collec_0 WHERE num IN ('". implode("','" ,$tab) ."')";
    						$result = mysqli_query($base_gene, $query);
    						if($result === false ) 	echo 'Erreur SQL : '.mysqli_error($base_gene);
    							while ($row = mysqli_fetch_assoc($result))
    								{
     
    										$desi[$i]=utf8_encode(trim($row['desi']));
    										$num[$i]=utf8_encode(trim($row['Num_yvert']));
    										$desi[$i]='"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    							   		$i++;
    							   }
    $tab rassemble tous les index des timbres à affichés sur la page dans l'ordre d'affichage.

    La colonne "num" contient des valeurs uniques, c'est un index. Je ne peux pas utilisez "id" car chaque année j'ajoute des données pour chaque catégorie de timbres (classique, aérien etc ). Je ne souhaite pas non plus faire plusieurs tables par exemple une table par catégorie car sur la même page j'aurais plusieurs résultats à mettre dans un ordre précis, de plus les pages qui ne sont pas encore modifiées ne fonctionneraient plus.

    Voila, je suis à votre disposition si avez besoin de précisions



    Pour info script actuel qui fonctionne mais très lent que je cherche à améliorer

    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
     
     
    					for($i=0;$i<$fin;$i++)
    					{
    						$query = 'SELECT * FROM collec_0' ;
    						$result = mysqli_query($base_gene, $query);
     
    							while ($row = mysqli_fetch_assoc($result))
    								{
    							  		$desi[$i]="";
    							 	   if(trim($tab[$i])==trim($row['num'])) 
    										{
    										$desi[$i]=utf8_encode(trim($row['desi']));
    										$num[$i]=utf8_encode(trim($row['Num_yvert']));
    										$desi[$i]='"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    										break;
    										}
    							   }
     
    				}
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  11. #31
    Invité
    Invité(e)
    Par défaut
    On va changer notre fusil d'épaule...
    Essaie ce script :
    Code php : 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
    	$query = "SELECT desi, Num_yvert FROM collec_0 WHERE num = ?";
    	$stmt = mysqli_prepare($base_gene, $query); // on prépare le requête
    	foreach($tab as $i => $tabnum)
    	{
    		mysqli_stmt_bind_param($stmt, "s", $tabnum);
    		mysqli_stmt_execute($stmt);
    		if($stmt === false ) 	echo 'Erreur SQL : '.mysqli_error($base_gene);
    		if(mysqli_num_rows($stmt) > 0)
    		{
    			$row = mysqli_stmt_fetch($stmt); // Récupération des valeurs
    			$desi[$i] = utf8_encode(trim($row['desi']));
    			$num[$i] = utf8_encode(trim($row['Num_yvert']));
    			$desi[$i] = '"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    		} else { // num pas trouvé en BdD !
    			$desi[$i] = '?';
    			$num[$i] = '?';
    			$desi[$i] = '"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    		}
    	}
    Dernière modification par Invité ; 23/08/2015 à 11h02.

  12. #32
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    J'ai une erreur ligne 4 Undefined variable: mysqli

    Script connexion base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    // connexion au serveur interne
    if($serveur=='localhost' || $serveur=='127.0.0.1')
    {
    $base_gene = mysqli_connect('localhost', 'root', '', 'timbresdefrance');
    $_SESSION['adresse_site']="http://127.0.0.1/timbres-de-france/";
    }
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  13. #33
    Invité
    Invité(e)
    Par défaut
    J'ai mis à jour mon message précédent => dans le style procédural.

  14. #34
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Si je teste (toujours p2006) j'ai cette erreur Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, object

    et tous les desi et num sont en point d'interrogation.
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  15. #35
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Je viens de faire un essai en modifiant mon tableau comme ceci
    SELECT * FROM collec_0 WHERE num IN ('3861','3862','3863','3864','3000','3865','F3865','BS6','3866','3867','3868','3869','3870','3871','3872','3873','3874','3875','BC3866','3876','3877'

    et là il ne trouve pas non plus alors que sur la page qui contient cette donnée tout est ok

    J'ai également fait un test avec mon ancien script et là il me trouve bien les valeurs correspondantes à la ligne "3000".

    Ce qui voudrait dire que la fonction IN lit ligne à ligne en partant de la première valeur ? Je ne sais pas si je suis assez clair
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  16. #36
    Invité
    Invité(e)
    Par défaut
    Bonjour Michel,
    ce code devrait afficher les résultats dans l'ordre indiqué dans l'array $tab :
    Code php : 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
    <?php
    	foreach($tab as $i => $tabnum)
    	{
    		$query = "SELECT num, desi, Num_yvert FROM collec_0 WHERE num = '".mysqli_real_escape_string($base_gene, $tabnum)."'";
    		$stmt = mysqli_query($base_gene, $query);
     
    		if(mysqli_num_rows($stmt) > 0)
    		{
    			$row = mysqli_fetch_assoc($stmt); // Récupération des valeurs
    			$desi[$i] = utf8_encode(trim($row['desi']));
    			$num[$i] = utf8_encode(trim($row['Num_yvert']));
    			$desi[$i] = '"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    		} else { // num pas trouvé en BdD !
    			$desi[$i] = '?';
    			$num[$i] = '?';
    			$desi[$i] = '"timbre '.$num[$i].' légende : '.$desi[$i].'"';
    		}
    		echo 'num = '.$tabnum.' : '.$desi[$i].'<br />';
    	}
    Dernière modification par Invité ; 24/08/2015 à 11h17.

  17. #37
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    A première vue ça m'a l'air pas mal !!!

    Je vais regarder de plus près dans la journée (la petite fille est là il faut s'en occuper !!!)
    c'est ça la vie de papy

    A+
    Michel
    75 ans quelques dents en moins, mais toujours envie d'apprendre

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/06/2010, 17h54
  2. [MFC : CTooltipCtrl, temps d'affichage]
    Par Zillon dans le forum MFC
    Réponses: 4
    Dernier message: 22/05/2006, 13h53
  3. Réponses: 5
    Dernier message: 12/05/2006, 11h45
  4. [FLASH MX] Temps d'affichage avec (onrollover)
    Par emilek dans le forum Flash
    Réponses: 1
    Dernier message: 22/09/2005, 14h17
  5. Temps d'affichage du swf
    Par oazar dans le forum Flash
    Réponses: 2
    Dernier message: 17/10/2003, 14h04

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