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 :

Récupération valeur dans une table


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    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 : 422
    Par défaut Récupération valeur dans une table
    Bonjour,

    Encore moi.....

    Je vais essayé d'être clair

    J'ai un fichier Excel type csv
    Je me sers de ce fichier pour charger une table en récupérant les données avec cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fp = fopen($_SESSION['adresse_site']."admi/Fic_texte/collec_new.csv", "r");
    Les données sont chargées dans la table comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for($i=1;$i<$a;$i++)
    {	
     
    	$sql= 'INSERT INTO collec_0 VALUES ("'.$i.'"," '.trim($mot[$i][0]).' "," '.trim($mot[$i][2]).' ","'.trim($mot[$i][3]).'","'.trim($mot[$i][4]).'","'.trim($mot[$i][5]).'","'.trim($mot[$i][6]).'","'.trim($mot[$i][7]).'","'.trim($mot[$i][8]).'","'.trim($mot[$i][9]).'","'.trim($mot[$i][10]).'","'.trim($mot[$i][11]).'","'.trim($mot[$i][12]).'","'.trim($mot[$i][13]).'","'.trim($mot[$i][14]).'","'.trim($mot[$i][15]).'","'.trim($mot[$i][16]).'","'.trim($mot[$i][17]).'","'.trim($mot[$i][18]).'","'.trim($mot[$i][19]).'","'.trim($mot[$i][20]).'","'.trim($mot[$i][21]).'","'.trim($mot[$i][22]).'","'.trim($mot[$i][23]).'","'.trim($mot[$i][24]).'","'.trim($mot[$i][25]).'","'.trim($mot[$i][26]).'","'.trim($mot[$i][27]).'","'.trim($mot[$i][1]).'","'.trim($mot[$i][28]).'","'.trim($mot[$i][29]).'","'.trim($mot[$i][30]).'","'.trim($mot[$i][31]).'","'.trim($mot[$i][32]).'","'.trim($mot[$i][33]).'","'.trim($mot[$i][34]).'","'.trim($mot[$i][35]).'","'.trim($mot[$i][36]).'","'.trim($mot[$i][37]).'","'.trim($mot[$i][38]).'","'.trim($mot[$i][39]).'","'.trim($mot[$i][40]).'","'.trim($mot[$i][41]).'","'.trim($mot[$i][42]).'","'.trim($mot[$i][43]).'","'.trim($mot[$i][44]).'","'.$i.'")';
     
    mysqli_query($base_gene,$sql)or die ('Erreur table France !'.$sql.'<br>'.mysqli_error($base_gene));
     
    }  // fin de for($i=3;$i<$a+1;$i++)
    Tout cela se passe sans problème c'est maintenant que le problème se pose

    Sur les pages du site j'ai ce type de tableau (les données varies en fonction de la page)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $tab=array('1','2','3','4','5','5B','6','7','8','8A','9','10','11','12','13A','13B','14A',
    '14B','15','16','17A','17B','18'); 
    $fin=count($tab);
    if(file_exists('../script/texte_page.php'))  include('../script/texte_page.php');
    et dans le 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
    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
    <?php
     
    if(isset($fin))
    {
     
    for($i=0;$i<$fin;$i++)
    {
     
    				$num[$i] ='inconnu';
    				$desi[$i] = '""';
    				$tableg[$i]= 'Timbre= France  &amp; dossier=vide &amp; fic=vide';
     
    		$query = 'SELECT TRIM(num) FROM collec_0 Where TRIM(num)='.$tab[$i];
    		$result = mysqli_query($base_gene, $query);
    		while ($row = mysqli_fetch_assoc($result))
    		{ 
     
     
    				$_SESSION["tab_id"][$i]=$row['id'];
    				$desi[$i] = trim($row['desi']);
    				$num[$i] = htmlspecialchars(trim($row['Num_yvert']));
    				if($num[$i]=='x') $num[$i]='Att N°';
    				$larg[$i]=trim($row['largeur']);
    				$haut[$i]=trim($row['hauteur']);
    				$photo[$i]=trim($row['photo']);
    				$chemin[$i]=trim($row['chemin_photo']);
    				if(trim($row['texte'])<>'x') $texte[$i]=trim($row['texte']);
    				$t=explode('/', $chemin[$i]);
    				if(isset($t[1])) $chemin[$i]='image/'.$t[1].'/';
    				if($num[$i]<>'x' && $num[$i]<>'Att N°' ) $desi[$i] = 'timbre '.$num[$i].', '.$desi[$i].'';	
    				$tableg[$i]=$desi[$i].' &amp; pos='.$i.' &amp; ligne='.$tab[$i];
    				$image[$i]= $_SESSION["adresse_site"].$chemin[$i].$photo[$i].' "'.' '. ' width="'.$larg[$i].'"'. ' height="'.$haut[$i].'' ;
     
    		}
     
    }
     
    } // fin de if(isset($tab))
     
    ?>
    Apparemment il n'y a pas de résultat dans la ligne $result = mysqli_query($base_gene, $query);
    puisque j'ai cette erreur "mysqli_result, boolean"

    Petite précision au cas ou : la base, les tables et les pages du site sont en uft8 (utf8_general_ci)

    Nom : table-col.jpg
Affichages : 75
Taille : 20,9 Ko

    Auriez vous une piste
    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    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 : 422
    Par défaut
    Pour compléter
    Ce qui me perturbe le plus c'est que si j'écris ceci

    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
    <?php
    if(isset($fin))
    {
    	for($i=0;$i<$fin;$i++)
    	{
    			$query = 'SELECT * FROM collec_0 ';
    			$result = mysqli_query($base_gene, $query);
    			while ($row = mysqli_fetch_assoc($result))
    			{ 
    				 if(trim($tab[$i])==trim($row['num']))
    				  {
    				   $_SESSION["tab_id"][$i]=$row['id'];	
    				   echo $_SESSION["tab_id"][$i]; echo '<br>';
    				  } 	
    			}
    	}
    } // fin de if(isset($tab))
     
    ?>
    ça marche
    Bien sur je ne peux pas l'utiliser pour une question de rapidité

  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    De quel type est la colonne num dans la base ? Si c'est une chaine (VARCHAR ou équivalent), il ne faut pas oublier les quotes dans la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = 'SELECT TRIM(num) FROM collec_0 Where TRIM(num)=\''.$tab[$i].'\'';
    Au passage, ce serait une bonne idée d'échapper les données en utilisant mysqli_real_​escape_​string, surtout sur les données arrivant de l'extérieur (typiquement, lors de l'insertion des données de ton CSV en base )
    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
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    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 : 422
    Par défaut
    Colonne num
    2 num mediumtext utf8_general_ci

  5. #5
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    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 : 422
    Par défaut
    C'était tout bête ...
    Un grand merci à vous

    (Les données ne viennent pas de l’extérieur donc pas de problème de ce coté)

    Encore MERCI
    Bonne journée

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

Discussions similaires

  1. probleme de récupération d'une valeur dans une table
    Par marcuscircus dans le forum IHM
    Réponses: 6
    Dernier message: 04/08/2008, 10h37
  2. Récupération d'une valeur dans une table
    Par yasmine* dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 06/06/2007, 16h42
  3. [ASP.NET][C#]Récupération valeur dans une table
    Par johnny_hey dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/03/2007, 14h44
  4. Insertion valeure dans une table
    Par krfa1 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/03/2005, 10h50
  5. Test d'existence d'une valeur dans une table
    Par dleu dans le forum Bases de données
    Réponses: 9
    Dernier message: 29/12/2004, 10h38

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