je comprends pas mon erreur

je comprends pas mon erreur - Programmation

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]

Reply

Marsh Posté le 25-06-2001 à 00:51:39   

Reply

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.


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 25-06-2001 à 10:16:43    

c exatement, ca

Reply

Marsh Posté le 25-06-2001 à 12:15:25    

:ouch:
oupsssss
 
NAN c pas mon vrai code  
:sweat:
 
j vais essayer ca merci

Reply

Marsh Posté le 25-06-2001 à 12:29:43    

ben nope ca marche po

Reply

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

Reply

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


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

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

Reply

Marsh Posté le 25-06-2001 à 20:27:04    

c'est quoi ce 'where fr' ?

Reply

Marsh Posté le 25-06-2001 à 21:13:16    

Le serveur MySql de free est sql.free.fr


---------------
> www.web-creation-fr.com
Reply

Marsh Posté le 25-06-2001 à 21:13:16   

Reply

Marsh 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

Reply

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 :
  1. $result=mysql_fetch_row($query);
  2. $id=0;
  3. $res=mysql_numrows($sql);
  4.            
  5. while ($id!=$res)
  6. {
  7.    $fr=$result[1];
  8.    $pos=strpos("$fr","$lettre" );
  9.    if ($pos=1)
  10.    {
  11.       echo "$fr";
  12.    }
  13.    $id++;
  14. }


 
Désolé, mais c'est n'importe quoi !
 
Essaye çà !

Code :
  1. <?php
  2. if (!isset($lettre))
  3. {
  4. $lettre=a;
  5. }
  6. $connexion=mysql_connect("sql.free.fr","lenoiche","********" );
  7. mysql_select_db( 'lenoiche' );
  8. $sql=("select * from divx where LEFT(Fr,1)='$lettre' order by Fr" );
  9. $result=mysql_query($sql);
  10. while ( $film = mysql_fetch_row( $result, MYSQL_ASSOC ) )
  11. {
  12.    echo("$film[Fr] $film[Ang] $film[Des] $film[Qual] $film[im] $film[avec] $film[de]" );
  13. }
  14. ?>


 
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]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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 :P
 
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

Reply

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 :P
 
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

Reply

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)


---------------
Mes photos,Feed-Back HA/V
Reply

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 :
  1. $couleur = array ( "BLEU" => "#0000FF", "ROUGE" => "#FF0000", "VERT" => "#00FF00", "BLANC" => "#FFFFFF", "NOIR" => "#000000" );


 
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 :
  1. $sql=("select * from divx where LEFT(Fr,1)>='0' AND LEFT(Fr,1)<='9' order by Fr" );
  2. $sql=("select * from divx where LEFT(Fr,1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9') order by Fr" );
  3. $sql=("select * from divx where LEFT(Fr,1) BETWEEN '0' AND '9' order by Fr" );


 
N'hésite pas si tu as d'autres problèmes.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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.

Reply

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

Reply

Marsh Posté le 26-06-2001 à 16:20:06    

Désolé, mais là je ne comprend pas la question !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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 .

Reply

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 :
  1. if (!isset($lettre)) 
  2.    $condition = "Fr BETWEEN '0' AND '9'";
  3. else
  4.    $condition = "left(Fr,1) = '$lettre'";
  5. $sql=("select * from divx where $condition order by Fr" );


 
Pour tester le type : http://php.net/manual/fr/function.is-numeric.php
 
Ca te va comme çà ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed