• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

BDD et sql

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
juste une question

essai un truc comme ça

if ($resultat)
{
echo "j'ia ma connexion";
while($ligne = mysql_fetch_row( $resultat ))
{
echo "j'ai au moins un résultat";

echo "Le nom: ".$resultat['Nom']." le prénom : ".$resultat['Prenom'];


}
}
else
{bof;}

Et dis moi ce qu'il t'affiche...
(a quand les debug en php)

de plus je ne sais pas ce que tu as comme serveur php mais vas faire un tour dans les fichier de log ("trace" in french dans le texte)bien souvant c'est très pratique ça te donne l'erreur et l'endroit ou est l'erreur...
 
A

Anonyme

Invité
canibal a dit:
juste une question

essai un truc comme ça

if ($resultat)
{
echo "j'ia ma connexion";
while($ligne = mysql_fetch_row( $resultat ))
{
echo "j'ai au moins un résultat";

echo "Le nom: ".$resultat['Nom']." le prénom : ".$resultat['Prenom'];


}
}
else
{bof;}

Et dis moi ce qu'il t'affiche...
(a quand les debug en php)

de plus je ne sais pas ce que tu as comme serveur php mais vas faire un tour dans les fichier de log ("trace" in french dans le texte)bien souvant c'est très pratique ça te donne l'erreur et l'endroit ou est l'erreur...
La connexion se fait mais rien n'est affiché !
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
bon ce n'est pas péjoratif mais juste des question un peu conne mais parfois ça se joue a rien:

-es tu sur du nom de ta table (sensible a la casse)?

-es tu sur que cette table contient de champs (s'il n'y a pas de chamsp...beh pas de champs)?

-as tu essayé avec une autre table de ta base (juste histoire de voir) ou est ce ta première tentative d'affichage d'info contenues dans ta base ?

-as tu été faire un tour sur http://siteduzero.com (ça c'est parceque je ne suis pas aussi doué que le mec qui a fait ce site pour expliquer comme attaquer une base, ressortir des info etc ... il l'a très bien fait)

au pire la prochaine étape sera .... avec phpmyadmin fait un export de ta base je te ferais le code qu'il faut ...
 
A

Anonyme

Invité
canibal a dit:
bon ce n'est pas péjoratif mais juste des question un peu conne mais parfois ça se joue a rien:

-es tu sur du nom de ta table (sensible a la casse)?

-es tu sur que cette table contient de champs (s'il n'y a pas de chamsp...beh pas de champs)?

-as tu essayé avec une autre table de ta base (juste histoire de voir) ou est ce ta première tentative d'affichage d'info contenues dans ta base ?

-as tu été faire un tour sur http://siteduzero.com (ça c'est parceque je ne suis pas aussi doué que le mec qui a fait ce site pour expliquer comme attaquer une base, ressortir des info etc ... il l'a très bien fait)

au pire la prochaine étape sera .... avec phpmyadmin fait un export de ta base je te ferais le code qu'il faut ...
Il y a un mystère : j'ai contrôlé la syntaxe, j'ai tout essayé, changer de table, rien à faire. C'est la commande "While etc..." qui ne fonctionne pas, la table n'est pas lue, je pense. Pourquoi je n'en sais rien ?
Albert
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
Halbert a dit:
Il y a un mystère : j'ai contrôlé la syntaxe, j'ai tout essayé, changer de table, rien à faire. C'est la commande "While etc..." qui ne fonctionne pas, la table n'est pas lue, je pense. Pourquoi je n'en sais rien ?
Albert
attends tu vas rire
essai

while($ligne = mysql_fetch_array( $resultat ))
{


j suis a peu près sur que la méthode fetch_row fonctionne pas dans ton cas....
 
A

Anonyme

Invité
canibal a dit:
attends tu vas rire
essai

while($ligne = mysql_fetch_array( $resultat ))
{


j suis a peu près sur que la méthode fetch_row fonctionne pas dans ton cas....
On avance : j'obtiens
Le nom: Le prenom : Le nom: Le prenom :Le nom: Le prenom :Le nom: Le prenom :Le nom: Le prenom : etc...

(j'ai bien un champ qui s'appelle Nom et un qui s'appelle Prenom)

Albert
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
Ah oui la synthaxe n'est pas la meme
c'est $ligne qui prend la valeur
bon tente

while($ligne = mysql_fetch_array( $resultat ))
{
echo "Le nom: ".$ligne['Nom']." le prénom : ".$ligne['Prenom'];



allez on en parle plus ça marcche :p
 

Marc-André

Membre émérite
24 Juillet 2003
559
17
43
Ottawa
Halbert a dit:
On avance : j'obtiens
Le nom: Le prenom : Le nom: Le prenom :Le nom: Le prenom :Le nom: Le prenom :Le nom: Le prenom : etc...

(j'ai bien un champ qui s'appelle Nom et un qui s'appelle Prenom)

Albert
Donc ça fonctionne?


Marc-André
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
Bloc de code:
<?PHP

    class mysql {
    
        function mysql(){// void main mysql(String host,String user,String password,String database)
        
            for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
            }
            
            $this->opened=false;
            $this->host=$arg[0];
            $this->user=$arg[1];
            $this->password=$arg[2];
            $this->database=$arg[3];
        }
        
        function open(){// void open()
            
            if(!empty($this->host) && !empty($this->user)){
                $this->connect();
            }
        }
    
        function connect(){// void connect()
            
            
            if($this->connection=mysql_connect($this->host,$this->user,$this->password)){
                $this->opened=true;
                $this->session=date("H:i:s");
                        if(isset($this->database) && !empty($this->database)){
                            $this->select_db();
                        }
            }
        }
        
        function select_db(){// boolean select_db()
        
            if($this->is_db($this->database)){
                if(mysql_select_db($this->database)){
                    return true;
                }
            }
            
            return false;
        }
        
        function list_dbs(){// array list_dbs()
                
                if($this->opened){
                    $list_dbs=mysql_list_dbs();
                        
                        for($i=0;$i<mysql_num_rows($list_dbs);$i++){
                            $name_dbs[]=mysql_db_name($list_dbs,$i);
                        }
                        
                    return $name_dbs;
                }
        }
        
        function list_tables(){// array list_tables(String database)
        
                for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
                }
                
                if($this->opened){
                    
                    $list_tables=mysql_list_tables($arg[0]);
                    
                        for($i=0;$i<mysql_num_rows($list_tables);$i++){
                            $name_tables[]=mysql_tablename($list_tables,$i);
                        }
                        
                    return $name_tables;
                        
                }
        }
        
        function list_dbs_tables(){// array list_dbs_tables()
            
            foreach($this->list_dbs() as $db){
                $name_dbs_tables[]=$v."\n".implode("\n",$this->list_tables($db));
            }
            
            return $name_dbs_tables;
        }
        
        function is_db(){// boolean is_db(String database)
            
            for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
            }
            
            if(in_array($arg[0],$this->list_dbs())){
                return true;
            }
            return false;
        }
        
        function is_table(){// boolean is_table(String table)
        
            for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
            }
            
            if(in_array($arg[0],$this->list_tables($this->database))){
                return true;
            }
            return false;
        }
    
        function query(){// object query(String query)
        
                for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
                }
                
                if($this->opened){
                    
                    $o=mysql_query($arg[0]);
                        if(is_resource($o) || $o > 0){
                            
                            $this->recorded[]=$arg[0];
                            
                            return $o;
                        }
                }
                return;
        }
        
        function query_db(){// object query_db(String query,String database)
        
                for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
                }
                
                if($this->opened){
                
                    if(is_db($arg[1])){
                        
                        $o=mysql_db_query($arg[1],$arg[0]);
                        
                            if(is_resource($o) || $o >0){
                                
                                $this->recorded[]=$arg[0];
                                
                                return $o;
                            }
                    }
                }
                return;
        }
        
        function close(){// void close()
        
            if(is_resource($this->connection)){
            
                mysql_close($this->connection);
                
            }
        }
    
    }

?>
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
c'est quand meme quelque chose le php5 :p

arrête de me mettre des trucs comme ça sous le nez tu vas finir par me convertir ;) non en fait c'est déjà fait

tient puisque tu es là tatouille tu sais ou je peux récuprer des classes implémentées a peu pret correcte et compréhensible poru m'en inspirer ...
je ne souhaite pas de site tout fait comme dotclear ou autre mais vrament un site légé avec des classes implémentées et vraiment documentées pour me lancer a fond dans le php5

je me suis plongé vaguement dedans mais j'ai du mal a sortir le diagramme UML d'un site...
tiens en y repensant (je réfléchi en tapant là) c'est pas des classes dont j'ai besoin mais d'un cours de php5 ... ça existe?? si tu connais un site bien fait tiens moi au courant merci....
 
A

Anonyme

Invité
canibal a dit:
Ah oui la synthaxe n'est pas la meme
c'est $ligne qui prend la valeur
bon tente

while($ligne = mysql_fetch_array( $resultat ))
{
echo "Le nom: ".$ligne['Nom']." le prénom : ".$ligne['Prenom'];



allez on en parle plus ça marcche :p
C'est bon ! Quelle différence entre array et row ?

Albert
 
A

Anonyme

Invité
tatouille a dit:
Bloc de code:
<?PHP

    class mysql {
    
        function mysql(){// void main mysql(String host,String user,String password,String database)
        
            for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
            }
            
            $this->opened=false;
            $this->host=$arg[0];
            $this->user=$arg[1];
            $this->password=$arg[2];
            $this->database=$arg[3];
        }
        
        function open(){// void open()
            
            if(!empty($this->host) && !empty($this->user)){
                $this->connect();
            }
        }
    
        function connect(){// void connect()
            
            
            if($this->connection=mysql_connect($this->host,$this->user,$this->password)){
                $this->opened=true;
                $this->session=date("H:i:s");
                        if(isset($this->database) && !empty($this->database)){
                            $this->select_db();
                        }
            }
        }
        
        function select_db(){// boolean select_db()
        
            if($this->is_db($this->database)){
                if(mysql_select_db($this->database)){
                    return true;
                }
            }
            
            return false;
        }
        
        function list_dbs(){// array list_dbs()
                
                if($this->opened){
                    $list_dbs=mysql_list_dbs();
                        
                        for($i=0;$i<mysql_num_rows($list_dbs);$i++){
                            $name_dbs[]=mysql_db_name($list_dbs,$i);
                        }
                        
                    return $name_dbs;
                }
        }
        
        function list_tables(){// array list_tables(String database)
        
                for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
                }
                
                if($this->opened){
                    
                    $list_tables=mysql_list_tables($arg[0]);
                    
                        for($i=0;$i<mysql_num_rows($list_tables);$i++){
                            $name_tables[]=mysql_tablename($list_tables,$i);
                        }
                        
                    return $name_tables;
                        
                }
        }
        
        function list_dbs_tables(){// array list_dbs_tables()
            
            foreach($this->list_dbs() as $db){
                $name_dbs_tables[]=$v."\n".implode("\n",$this->list_tables($db));
            }
            
            return $name_dbs_tables;
        }
        
        function is_db(){// boolean is_db(String database)
            
            for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
            }
            
            if(in_array($arg[0],$this->list_dbs())){
                return true;
            }
            return false;
        }
        
        function is_table(){// boolean is_table(String table)
        
            for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
            }
            
            if(in_array($arg[0],$this->list_tables($this->database))){
                return true;
            }
            return false;
        }
    
        function query(){// object query(String query)
        
                for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
                }
                
                if($this->opened){
                    
                    $o=mysql_query($arg[0]);
                        if(is_resource($o) || $o > 0){
                            
                            $this->recorded[]=$arg[0];
                            
                            return $o;
                        }
                }
                return;
        }
        
        function query_db(){// object query_db(String query,String database)
        
                for($i=0;$i<func_num_args();$i++){
                    $arg[]=@func_get_arg($i);
                }
                
                if($this->opened){
                
                    if(is_db($arg[1])){
                        
                        $o=mysql_db_query($arg[1],$arg[0]);
                        
                            if(is_resource($o) || $o >0){
                                
                                $this->recorded[]=$arg[0];
                                
                                return $o;
                            }
                    }
                }
                return;
        }
        
        function close(){// void close()
        
            if(is_resource($this->connection)){
            
                mysql_close($this->connection);
                
            }
        }
    
    }

?>
Hou là ! Impressionnant ! ca marche avec PHP4 ?
Albert
 

canibal

Membre confirmé
29 Mai 2005
393
27
37
San Jose, CA
Halbert a dit:
C'est bon ! Quelle différence entre array et row ?

Albert
mysql_fetch_array : Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
mysql_fetch_row : Retourne une ligne de résultat MySQL sous la forme d'un tableau

pour le php orienté objet j'ai trouvé ça
<?PHP
$query = "SELECT nom,prenom FROM 'membre'";
$result = mysql_query($query);
while($membre=mysql_fetch_object($result)) {
$nom=$membre -> nom;
$prenom=$membre -> prenom;
echo $prenom.' '.$nom.'<br />';
}
?>

apparemetn ça fonctionne en php4
 
A

Anonyme

Invité
canibal a dit:
mysql_fetch_array : Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
mysql_fetch_row : Retourne une ligne de résultat MySQL sous la forme d'un tableau

pour le php orienté objet j'ai trouvé ça
<?PHP
$query = "SELECT nom,prenom FROM 'membre'";
$result = mysql_query($query);
while($membre=mysql_fetch_object($result)) {
$nom=$membre -> nom;
$prenom=$membre -> prenom;
echo $prenom.' '.$nom.'<br />';
}
?>

apparemetn ça fonctionne en php4

Ca marche impeccable. Merci pour ton aide. Il me reste à essayer de présenter les résultats de façon claire. Sur le siteduzéeoo, il y a des indications interessantes

Merci encore
Albert
 
A

Anonyme

Invité
Anabys a dit:
Tuto ici, entre autre pour afficher les données en mode tabulaire et en 'fiche'
Merci. J'ai fait ceci :


echo '<table>';

while($NomDeTable=mysql_fetch_object($result))
{


$nom=$NomDeTable -> nom;
$prenom=$NomDeTable -> prenom;



echo'<tr>';

echo '<td>'.$nom.'</td>';
echo '<td>'.$prenom.'</td>';


echo'</tr>';

}

echo '</table>';


?>

Ca présente les résultats sur deux colonnes.
Albert
 
A

Anonyme

Invité
gwena a dit:
t'aurais du faire un tour sur phpdebutant.com ça aurait éviter de perdre du temps...
Je ne perds pas de temps : on apprend plus en cherchant. Et les échanges ici avec ceux qui savent sont très fructueux.
Albert