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 ?
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]