je comprends pas mon erreur - Programmation
Marsh Posté le 25-06-2001 à 02:31:15
Ca m'étonnerait qu'il y est un serveur mysql sur ftpperso.free.fr, ca doit être plutot mysql.free.fr si mes souvenirs sont bons. 
Au fait j'esperes que c'est pas ton vrai mot de passe que t'as mis, sinon tu risques d'avoir des surprise. 
Marsh Posté le 25-06-2001 à 12:30:06
nope ca marche pô 
 
voici le message d erreur que ca m affihce 
 
Warning: 0 is not a MySQL result index in your script on line 25 
Marsh Posté le 25-06-2001 à 13:21:50
Si tu expliquerait ce que tu veux exactement faire avec ce script on pourrait d'aider un peu plus et surtout plus vite
Marsh Posté le 25-06-2001 à 18:54:14
alors j ai une base de donnee de films , et j aimerais l afficher par lettre alphabetique ....... 
 
c a d tous les films commencant par A sur la meme page ...... 
 
de plus je ne vois pas comment selectionne les filme comment autement que par les lettre , les chiffres par exemple 
Marsh Posté le 25-06-2001 à 21:13:16
ReplyMarsh Posté le 26-06-2001 à 00:23:58
alors pour le serveur 
 
ca change rien , j ai un autre script faisant appelle a la base de donnee et ca rulez......... (de plus jai deja essaye de changer meme resultat) 
 
"where fr" 
 
en fait fr , c le nom d'un des champs de ma base de donnee 
Marsh Posté le 26-06-2001 à 00:39:26
Ok, fr est le nom d'un champs, mais si c'est pas un booléen, 'where fr' n'est pas une condition ! 
 
En revanche, 'where fr="toto"' çà veut dire quelque chose ! 
 
Bon, je vient d'aller voir ta base de plus près avec PhpMyAdmin et le mot de passe que tu as généreusement laissé sur le forum ! 
(Change çà, c'est pas très propre quand même !) 
 
Et ta requête, devrait être : 
'select * from divx order by fr' 
si ce que tu veux, c'est afficher la liste des films triés sur les titres 'Français' en ordre croissant ! 
Le 'ASC' est superflu, c'est l'ordre par défaut ! 
 
Pour le reste : 
| Code : 
 | 
 
 
Désolé, mais c'est n'importe quoi ! 
 
Essaye çà ! 
| Code : 
 | 
 
 
Ca marche avec ta base ! 
SI SI, essaye là : http://fsurleau.free.fr/tst.php3?lettre=6
[edtdd]--Message édité par Mara's dad--[/edtdd]
Marsh Posté le 26-06-2001 à 13:26:56
Je sais que c du n importe koi 
 
j viens de commencer le PHP alors un pu d indulgence  
 
 
ok j ai compris , par contre c koi cette instruction "MYSQL_ASSOC " 
 
elle sert a koi ???? 
 
et dernbiere petite question comment faire pour affecte a la variable $lettre , l ensemble des chiffres en 1 seule fois 
 
Mara's dad, sur ton exemple , je vais afficher sur une page toute les titre commencant par un 6 or je souhaiterais metre tous les films commencant pas un chiffre 
 
merci pour ton aide si precieuse ;D 
Marsh Posté le 26-06-2001 à 13:29:53
Je sais que c du n importe koi 
 
j viens de commencer le PHP alors un pu d indulgence  
 
 
ok j ai compris , par contre c koi cette instruction "MYSQL_ASSOC " 
 
elle sert a koi ???? 
 
et dernbiere petite question comment faire pour affecte a la variable $lettre , l ensemble des chiffres en 1 seule fois 
 
Mara's dad, sur ton exemple , je vais afficher sur une page toute les titre commencant par un 6 or je souhaiterais metre tous les films commencant pas un chiffre 
 
merci pour ton aide si precieuse ;D 
Marsh Posté le 26-06-2001 à 13:34:43
j'dirais que çà permet d'associer les indices du tableau $film avec les noms des champs de ta table  me trompé-je ?
 me trompé-je ? 
 
regarde l'instruction Echo qui suit ($film[Fr] par exemple) 
Marsh Posté le 26-06-2001 à 14:35:30
MYSQL_ASSOC : 
 
En php, les tableaux peuvent avoir un indice "Chaîne de caractère" en plus de l'indice numérique normal. 
C'est ce qu'on appelle un tableau "associatif". 
 
En clair, tu peux avoir un tableau du genre :  
| Code : 
 | 
 
 
Ensuite tu peux utiliser le tableau couleur comme çà : 
$couleur[BLANC] qui te donne "#000000". 
 
MYSQL_ASSOC, est utilisé avec la fonction mysql_fetch_row() pour lui dire de retourner un tableau associatif avec les noms des champs comme indices du tableau ! 
 
C'est pratique quand tu fais une requête du genre SELECT * FROM MaTable. 
Si tu connais le nom des champs, tu ne sais pas forcément dans quelle ordre ils sont rangés dans le tableau résultat. 
Avec $toto = mysql_fetch_row($result, MYSQL_ASSOC), tu peux utiliser $toto[NomDeChamp] pour avoir son contenu. 
 
C'est cool non! 
Et c'est surtout beaucoup plus lisible ! 
 
Pour ce qui est de l'indulgence, t'en fais pas ! 
On a tous commencé la programmation un jour. 
N'empèche que c'était Presque n'importe quoi  
 
 
Pour la requête qui te sort tous les enregs dont le titre commence par un chiffre, t'as qu'à choisir : 
 
| Code : 
 | 
 
 
N'hésite pas si tu as d'autres problèmes. 
Marsh Posté le 26-06-2001 à 15:39:54
| Lenoiche a écrit a écrit  : nope ca marche pô voici le message d erreur que ca m affihce Warning: 0 is not a MySQL result index in your script on line 25 | 
 
JE sais pas s'ils t'ont déjà répondus à cette question. Ce message d'erreur arive quand tu essaye d'accédé à un résultat de requête en dehors de l'ensemble retourné par la bdd. Dans ton cas, aucune valeur n'est retourné mais tu essaye quand même d'accéder à la première valeur. Comme elle n'existe pas, il t'affiche une erreur. 
Marsh Posté le 26-06-2001 à 15:45:06
oki marad 
 
et une petite derniere question et j arreterais de vous embeter 
 
c a propose de la requete dont le titre commence par un chiffre 
 
dans mon programme  
if (!isset($lettre))  
{  
$lettre=a;  
}  
 
... 
 
$lettre soit egale a 1 ou 2 ou 3 ou 4 ou 5 ........... 
 
alors j ai pense a l utiler avec array 
 
c possible ??? 
Marsh Posté le 26-06-2001 à 16:20:06
Désolé, mais là je ne comprend pas la question !
Marsh Posté le 26-06-2001 à 17:09:45
alors le script fait un test entre la 1ere lettre du film avec la variable $lettre 
$sql=("select * from divx where LEFT(Fr,1)='$lettre' order by Fr" );   
 
 
et moi je voudrais affecte a la variable $lettre , l ensemble des chiffre si elle est vide 
if (!isset($lettre))  
{  
$lettre= ..... ; (j met koi comme instruction)  
}  
 
 
en fait je voudrais definir un type de variable et faire le test si il fait parti du type (si c un entier ou un caratere) , mais je sais pas c possible ne PHP. 
 
ou si vous avez une autre idee . 
Marsh Posté le 26-06-2001 à 17:28:49
Bon, se qu'il faut, c'est modifier ta requête en fonction de ce que tu veux faire. 
 
Par exemple :  
| Code : 
 | 
 
 
Pour tester le type : http://php.net/manual/fr/function.is-numeric.php 
 
Ca te va comme çà ? 
Marsh Posté le 26-06-2001 à 22:10:03
voila je clos donc ce topic en remerciant tout le monde et surtout marad' dad et m@nou 
 
merci a tout les 2, mon site commence à prendre forme 
 
en tout cas je me suis rendu compte que ................. j avais encore du boulot pour maitriser le PHP 
 
voila @ pluche 
Marsh Posté le 25-06-2001 à 00:51:39
<?
if (mysql_connect("ftpperso.free.fr","*******",
"*******" )>0)
{
$connexion=mysql_connect("ftpperso.free.fr","*******","**********" );
}
else
{
$connexion=mysql_connect("localhost" );
}
mysql_select_db( 'lenoiche' );
if (!isset($lettre))
{
$lettre=a;
}
$sql=("select * from divx where fr order by fr asc " );
$query=mysql_query($sql,$connexion);
$result=mysql_fetch_row($query);
$id=0;
$res=mysql_numrows($sql); **** c a cette ligne *********
while ($id!=$res)
{
$fr=$result[1];
$pos=strpos("$fr","$lettre" );
if ($pos=1)
{
echo "$fr";
}
$id++;
}
?>
[edit]--Message édité par Lenoiche--[/edit]
[edtdd]--Message édité par Lenoiche--[/edtdd]