Retour de données...

Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 - 4 nov. 2006 à 14:43
Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 - 14 nov. 2006 à 17:06
Bonjour bonjour,
alors voilà j'ai un problème (comme des centaines de personnes sur ce site) :
dans ma base MySQL, j'ai cette ligne d'une table (j'ai racourci car y a trop de choses):

[nom]   [diminutif] ..
[Time-Feeling]   [timefeeling]

Time-Feeling c'est le nom d'une musique.

Lorsque je fait une requête sur la bdd (sur cette ligne), il me renvoie juste le diminutif, et pas le nom; mais lorsque je modifie avec phpmyadmin le nom et que je vire le tiret, ça me renvoie les deux (nom et diminutif).

Si vous avez comprit mon problème > vous trouvez ceci normal ???

1 réponse

Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 1
14 nov. 2006 à 17:06
Voilà le code de la page pour afficher les meilleurs titres :


$i = 0;


$tab_meil_tels = retourne_meil_tels();
foreach ($tab_meil_tels as $nom => $nb_tels) {
 if ($color == 0){
  $color2 = "#f2f1e4";
  $color = 1;
 } else {
  $color2 = "#ffffff";
  $color = 0;
 }
 $i_aff = $i + 1;


 echo "<tr bgcolor="$color2" id="a_f_".$i."" onmouseover="tabHover('a_f_".$i."', true, 'ligne_hover', 'ligne');" onmouseout="tabHover('a_f_".$i."', false, 'ligne_hover', 'ligne');">
 <td>$i_aff</td>
 <td>$nom</td>
 <td>$nb_tels</td>
    </tr>";
 
 $i = $i + 1;
}


$nom est le nom du titre à afficher.


Et voilà la fonction retourne_meil_tels() :


/**
 * Retourne les X titres qui ont les meilleurs téléchargement.
 * Fonction qui retourne une liste triée des X titres qui ont les meilleurs téléchargements.
 * N'inclut pas les titres qui ont le statut FALSE.
 *
 * @uses tri << pour trier la requête
 * @uses _dbconnect.php
 * @uses lit_fichier_conf << pas important
 * @uses retourne_info_bdd << retourne une info spécifique d'une bdd (d'une table)
 * @return array le tableau $tab['diminutif'] = nb_tels;
 */
function retourne_meil_tels() {
 $fich_conf_meil_tels = lit_fichier_conf('sys/inc/_conf_dcms.conf');
 $nb_retour_titres = $fich_conf_meil_tels['varlist']['$num_meil_tels'];


 include('_dbconnect.php');
 
 $liste = tri($table_name[4], 'desc', 'nb', 0, $nb_retour_titres);
 
 while ($tab = mysql_fetch_assoc($liste)) {
  $statut = retourne_info_bdd('statut', $table_name[1], $tab['dimi_titre'], 'statut');
  
  if ($statut != 'FALSE' and $tab['nb'] > 0) { // $tab['nb'] est le nombre de téléchargements du titre
   $nom = retourne_info_bdd('nom', $table_name[1], $tab['dimi_titre'], 'nom'); // nom du titre
   $retour["$nom"] = $tab['nb'];
  }
 // Débogage
 print_r($retour);echo '
';
 /////////////////////////////
 }
 return $retour;
}


Le résultat de la ligne <> est :


Array ( [] => 9 )
Array ( [] => 9 [Nikita] => 3 )
Array ( [] => 9 [Nikita] => 3 [Tecknikology] => 1 )
Array ( [] => 9 [Nikita] => 3 [Tecknikology] => 1 [Syth] => 1 )
Array ( [] => 9 [Nikita] => 3 [Tecknikology] => 1 [Syth] => 1 [Finala] => 1 )


Dans le [] => 9 ça devrait être [Time-Feeling] => 9 car c'est la zik qui a le plus de téléchargements.
Je suis absolument certain à 100% que MySQL ne retourne pas le nom du titre Time-Feeling à cause du '-' (tiret).
J'ai essayé avec phpMyAdmin : j'ai viré le '-', j'ai exécuter la page qui affiche les meilleurs titres et ça m'affiche TimeFeeling
(forcément car j'ai enlevé le tiret) ce qui veux dire que c'est bien à cause du tiret mais moi je veux le garder (parce que mon boss veux le garder).


MErCI de m'aider !!
0
Rejoignez-nous