Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1150 connectés 

  FORUM HardWare.fr
  Programmation

  je comprends pas mon erreur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

je comprends pas mon erreur

n°42448
Lenoiche
Posté le 25-06-2001 à 00:51:39  profilanswer
 

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

mood
Publicité
Posté le 25-06-2001 à 00:51:39  profilanswer
 

n°42451
Roswell_
Posté le 25-06-2001 à 02:31:15  profilanswer
 

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!
n°42486
funwebmax
Posté le 25-06-2001 à 10:16:43  profilanswer
 

c exatement, ca

n°42534
Lenoiche
Posté le 25-06-2001 à 12:15:25  profilanswer
 

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

n°42537
Lenoiche
Posté le 25-06-2001 à 12:29:43  profilanswer
 

ben nope ca marche po

n°42538
Lenoiche
Posté le 25-06-2001 à 12:30:06  profilanswer
 

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

n°42548
Lord II
PIB2000
Posté le 25-06-2001 à 13:21:50  profilanswer
 

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 .
n°42648
Lenoiche
Posté le 25-06-2001 à 18:54:14  profilanswer
 

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

n°42655
eusebius
Posté le 25-06-2001 à 20:27:04  profilanswer
 

c'est quoi ce 'where fr' ?

n°42661
cyrix
Et maintenant ?
Posté le 25-06-2001 à 21:13:16  profilanswer
 

Le serveur MySql de free est sql.free.fr


---------------
> www.web-creation-fr.com
mood
Publicité
Posté le 25-06-2001 à 21:13:16  profilanswer
 

n°42695
Lenoiche
Posté le 26-06-2001 à 00:23:58  profilanswer
 

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

n°42698
Mara's dad
Yes I can !
Posté le 26-06-2001 à 00:39:26  profilanswer
 

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é.
n°42807
Lenoiche
Posté le 26-06-2001 à 13:26:56  profilanswer
 

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

n°42810
Lenoiche
Posté le 26-06-2001 à 13:29:53  profilanswer
 

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

n°42811
m@nou
vu z&#039;avais pas vu
Posté le 26-06-2001 à 13:34:43  profilanswer
 

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
n°42848
Mara's dad
Yes I can !
Posté le 26-06-2001 à 14:35:30  profilanswer
 

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é.
n°42871
omega2
Posté le 26-06-2001 à 15:39:54  profilanswer
 

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.

n°42876
Lenoiche
Posté le 26-06-2001 à 15:45:06  profilanswer
 

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

n°42885
Mara's dad
Yes I can !
Posté le 26-06-2001 à 16:20:06  profilanswer
 

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


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°42896
Lenoiche
Posté le 26-06-2001 à 17:09:45  profilanswer
 

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 .

n°42908
Mara's dad
Yes I can !
Posté le 26-06-2001 à 17:28:49  profilanswer
 

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é.
n°42950
Lenoiche
Posté le 26-06-2001 à 22:10:03  profilanswer
 

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

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  je comprends pas mon erreur

 

Sujets relatifs
Erreur dans mon script , je trouve po la faute[Delphi] c'est quoi mon erreur?
[PHP + MySQL] erreur "Supplied argument is not a valid MySQL result.."[C++] Ca doit être simple mais je comprends pas...
[PHP] Erreur de Login !!!!!!![javascript] d'où vient l'erreur?
supression de fichier en asp je vois pas mon erreur!![Visulal C++, DLL] erreur à l'appel de la fonction dll...
[VB] erreur que je comprend pas 
Plus de sujets relatifs à : je comprends pas mon erreur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR