besoin d'un script tout con en php mais je m'y connais pas assez...

besoin d'un script tout con en php mais je m'y connais pas assez... - PHP - Programmation

Marsh Posté le 04-05-2002 à 10:54:24    

hello,  
 
Je suis etudiant en info, on a un cours de bases de données.
J'ai donc mis toute la base sur laquelle porte le cours sur un serveur chez moi..
pour pouvoir se préparer a l'exam, je voudrais faire une page en php ou on aurait un champ qui saisit les commandes, un bouton executer et un champ qui affiche le résultat de la requete...
Mais je suis pas très doué en php..
quelqu'un peut me dire ou je peux trouver un truc tout fait ?
ou encore mieux, me coder le script ?
 
Merfii
 
 
PS : En fait pour le momment, je fais déjà ça avec phpmyuadmin mais je voudrais que toute ma classe puisse s'en servir et ça fait un peu crade de les faire passer par phpmyadmin...

Reply

Marsh Posté le 04-05-2002 à 10:54:24   

Reply

Marsh Posté le 05-05-2002 à 14:27:35    

bon, j'avance, j'ai déjà une ébauche du script... mais il me faut encore quelque trucs : comment faire un champ qui prend la requete et la place dans la variable requete ?
                            comment afficher le résultat ?
 
 
<?  
 
//connection a mysql  
$db = mysql_connect('localhost', 'login', 'password';);  
 
// choix de la base  
mysql_select_db('fundp',$db);  
 
//récupération de la requete entrée par l'utilisateur:
 
???
 
// création de la requete :  
$sql = 'requete';  
 
//envoi de la requete :  
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());  
 
//affichage du résultat  
 
????
 
 
// fin de la connection  
mysql_close();  
 
?>

Reply

Marsh Posté le 05-05-2002 à 14:39:52    

va sur phpfrance, tu trouveras des exemples dans les "tutorials"
sinon il y a le site http://www.php.net/manual/fr/ (manuel de référence du php)

Reply

Marsh Posté le 05-05-2002 à 15:03:26    

là je traine sur phpdebutant, j'ai ce script ci :  
 

<?  
 
//connection a mysql  
$db = mysql_connect('machine.npower.mine.nu', 'fundp', 'fundp';);  
 
// choix de la base  
mysql_select_db('fundp',$db);  
 
//affichage de la requete de l'utilisateur :
 
print("<center> Requete :$requete </center> );
 
 
// création de la requete :  
$sql = '$requete';  
 
//envoi de la requete :  
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());  
 
 
//affichage du résultat  
 
while($data = mysql_fetch_array($req))  
    {  
    // on affiche les informations de l'enregistrements en cours  
    echo .$data
    }  
 
// on ferme la connexion à mysql  
mysql_close();  
?>  
 
// fin de la connection  
 
mysql_close();  
 
?>  

 
et cete page html là :  
 
<html><body>
<form method="post" action="sql.php3">
 
Requete : <input type="text" name="requete" size="150">
<input type="submit" value="OK">
</form></body></html>

 
 mais il me balance  
Parse error: parse error in /www/iforum/sql.php3 on line 46
 
chaque fois que je clique sur ok dans la page html avec une requete valide...  (46 étant la dernière ligne du script)

 

[jfdsdjhfuetppo]--Message édité par netswitch le 05-05-2002 à 15:06:42--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 05-05-2002 à 15:51:46    

phpmyadmin te simplifiera la chose


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 05-05-2002 à 17:10:57    

bhen wi, j'utilise déjà phpmyadmin mais c'est pas ce qu'il y a de plus propre...
 
A mon avis il manque pâs grand chose au truc que j'ai mais je vois pas quoi...
 
Si je savais déjà pourquoi il me met une parse error, ce serait bien...
(il me la met même si je m'arete après le print..)

Reply

Marsh Posté le 05-05-2002 à 18:14:12    

c'est pas des plus optimisé, mais ça devrait fcter (enfin, j'espère)
 
<html><HEAD><TITLE>Requête SQL</TITLE></HEAD>
<body>
 
<?  
//affichage et exécution si l'utilisateur a soumi une requête
if ( isSet($submit) && ($requete!="" ) ) {
  echo "<center> Requete :$requete </center> )";
 
  //connection a mysql  
  $db = mysql_connect(machine.npower.mine.nu', 'fundp', 'fundp';);  
 
  // choix de la base  
  mysql_select_db('fundp',$db);  
 
  //exécution de la requete
  $req = mysql_query($sql)
       or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());  
 
  //affichage du résultat  
  echo "<TABLE>";
  $firstline= true;
  while( $data = mysql_fetch_array($req) ) {
    //affichage des entêtes
    if ($firstline) {
       echo "<TR>";
       while( list($key, $val)= each($data) ){
          echo "<TH>" . $key . "</TH>";
       }
       echo "</TR>";
       reset($data);
       $firstline= false;
    }
    //affichage de la ligne de résultat
    echo "<TR>";
    while( list($key, $val)= each($data) ){
       echo "<TD>" . $val . "</TD>";
    }
    echo "</TR>";
  }  
  echo "</TABLE>";
 
  // on ferme la connexion à mysql  
  mysql_close();  
  echo "<A HREF='sql.php3'>Retour</A>";
}
else {
?>
  <form method="post" action="sql.php3">
  Requete : <input type="text" name="requete" size="150">
  <input type="submit" name="submit" value="OK">
  </form>
<?
}
?>  
 
</body></html>

Reply

Marsh Posté le 05-05-2002 à 18:36:31    

whaaa merci !
 
Mais ça marcheu po...
 
il me balance ça :  
[i]'.$sql.'
'.mysql_error()); //affichage du résultat echo ""; $firstline= true; while( $data = mysql_fetch_array($req) ) { //affichage des entêtes if ($firstline) { echo " "; while( list($key, $val)= each($data) ){ echo " " . $key . " "; } echo "  
"; reset($data); $firstline= false; } //affichage de la ligne de résultat echo " "; while( list($key, $val)= each($data) ){ echo " " . $val . " "; } echo "  
"; } echo " "; // on ferme la connexion à mysql mysql_close(); echo "Retour"; } else { ?>

 

[jfdsdjhfuetppo]--Message édité par netswitch le 05-05-2002 à 18:39:20--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 05-05-2002 à 18:38:36    

j'espère que ça fct  :lol:  
 :hello:

Reply

Marsh Posté le 05-05-2002 à 18:41:54    

je l'ai mis sur http://iforum.npower.mine.nu/
 
je regarde si je trouve des erreurs mais vu mon nivo, je risque de pas aller loi...
j'i trouvé une ' qui manque peut etre avant le nom du localhost dans mysql_connect
 
si tu veux voir la base par phpmyadmin : www.airp.be.tf  
login / pass : fundp / fundp

 

[jfdsdjhfuetppo]--Message édité par netswitch le 05-05-2002 à 18:44:24--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 05-05-2002 à 18:41:54   

Reply

Marsh Posté le 05-05-2002 à 18:50:26    

Mais c'est peut etre moi qui suis con :  
le code que tu m'as donné, je le mets comme une page html ? ou comme un script php3  
???
 
en tous cas merci d'avoir pondu ça !  
:hello:

Reply

Marsh Posté le 05-05-2002 à 19:03:23    

tu le mets sous le nom sql.php3
FUNDP= Faculte Universitaire Notre Dame de la Paix ?
c chouette là bas ?
 
j'ai fait qq erreurs :D
<html><HEAD><TITLE>Requête SQL</TITLE></HEAD>
<body>
 
<?  
//affichage et exécution si l'utilisateur a soumi une requête
if ( isSet($submit) && ($requete!="" ) ) {
 echo "<center> Requete :$requete </center> )";
 
 //connection a mysql  
 $connexion= mysql_connect('machine.npower.mine.nu', 'fundp', 'fundp';);  
  if (!$connexion) {
    echo "erreur de connexion au serveur"; exit;
  }
 // choix de la base  
 if ( !mysql_select_db('fundp',$connexion) ){
   echo "Erreur de connexion à la Base"; exit;
 }

 //exécution de la requete
 $req = mysql_query($requete, $connexion)
      or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());  
 
 //affichage du résultat  
 echo "<TABLE BORDER='1'>";
 $firstline= true;
 while( $data = mysql_fetch_array($req) ) {
   //affichage des entêtes
   if ($firstline) {
      echo "<TR>";
      while( list($key, $val)= each($data) ){
         echo "<TH>" . $key . "</TH>";
      }
      echo "</TR>";
      reset($data);
      $firstline= false;
   }
   //affichage de la ligne de résultat
   echo "<TR>";
   while( list($key, $val)= each($data) ){
      echo "<TD>" . $val . "</TD>";
   }
   echo "</TR>";
 }  
 echo "</TABLE>";
 
 // on ferme la connexion à mysql  
 mysql_close();  
 echo "<A HREF='sql.php3'>Retour</A>";
}
else {
?>
 <form method="post" action="sql.php3">
 Requete : <input type="text" name="requete" size="150">
 <input type="submit" name="submit" value="OK">
 </form>
<?
}
?>  
 
</body></html>
 
arrgh visiblement c pas encore top, il affiche les colonnes en double :(

 

[jfdsdjhfuetppo]--Message édité par ethernal le 05-05-2002 à 19:06:39--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 05-05-2002 à 19:20:09    

Wi, c'est les facs de Namur...
Perso, je trouve que c'est pas la grande joie, (tu vois, je suis en 2e et pas capable de me démerder avec un script en php, je trouve ça honteux...).  Les bons profs se sont fait racheter par l'ucl, on est obligés de faire des candis en eco ou en maths...
bof bof quoi...
Tu es / sors d'ou toi ?
 
Pour le script : ça va mieux, il affiche la requete sans  problèmes mais il me mets un message d'erreur : query was empty   !?!
chez toi, il affiche les colonnes en double ??

Reply

Marsh Posté le 05-05-2002 à 19:23:59    

voila que c'est bcp mieux, ça fct niquel, amuses toi bien ;)
 
<html><HEAD><TITLE>Requête SQL</TITLE></HEAD>
<body>
 
<?  
//affichage et exécution si l'utilisateur a soumi une requête
if ( isSet($submit) && ($requete!="" ) ) {
 echo "<center> Requete :$requete </center>";
 
 //connection a mysql  
 $connexion = mysql_connect('machine.npower.mine.nu', 'fundp', 'fundp';);      
 
 // choix de la base  
 mysql_select_db('fundp',$connexion);  
 
 //exécution de la requete
 $req = mysql_query($requete, $connexion)
      or die( "Erreur SQL !<br>$requete<br>".mysql_error() );  
 
 //affichage du résultat  
 echo "<TABLE border='1'><TR>";
 //affichage des entètes des colonnes
 for ($i=0; $i<mysql_num_fields($req); $i++){
   echo "<TH>". mysql_field_name($req,$i) . "</TH>";
 }
 echo "</TR>";
 
 while( $data = mysql_fetch_array($req, MYSQL_ASSOC) ) {
   //affichage de la ligne de résultat
   echo "<TR>";
   while( list($key, $val)= each($data) ){
       echo "<TD>" . $val . "</TD>";
   }
   echo "</TR>";
 }  
 echo "</TABLE>";
 
 // on ferme la connexion à mysql  
 mysql_close();  
 echo "<A HREF='sql.php'>Retour</A>";
}
else {
?>
 <form method="post" action="sql.php">
 Requete : <input type="text" name="requete" size="150">
 <input type="submit" name="submit" value="OK">
 </form>
<?
}
?>  
 
</body></html>

Reply

Marsh Posté le 05-05-2002 à 19:29:23    

netswitch a écrit a écrit :

Wi, c'est les facs de Namur...
Perso, je trouve que c'est pas la grande joie, (tu vois, je suis en 2e et pas capable de me démerder avec un script en php, je trouve ça honteux...).  Les bons profs se sont fait racheter par l'ucl, on est obligés de faire des candis en eco ou en maths...
bof bof quoi...
Tu es / sors d'ou toi ?




 
moui, mais bon on peut pas tout connaitre non plus... là vous apprenez à apprendre comme on dit toujours : :sarcastic:  
j'ai fait un graduat à Bxl (Heb-ESI), je me prends des vacances depuis 2 ans bientôt, ça me laisse du temps pour m'amuser a apprendre ce que je n'ai pas vu aux cours et oublier ce que j'y ai vu :D :lol:
 

Citation :

Pour le script : ça va mieux, il affiche la requete sans  problèmes mais il me mets un message d'erreur : query was empty   !?!
chez toi, il affiche les colonnes en double ??


vi  :crazy: , le sql error est due à la variable qui n'existe plus sans doute ($req = mysql_query($requete, $connexion)  
     or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());   )

Reply

Marsh Posté le 05-05-2002 à 19:29:52    

Ca marche nickel !!
 
Merci beaucoup!!!
 
Pour ce qui est d'apprendre a apprendre : c peut etre vrai mais qu'est ce que c chiant de se taper de la micro quand tu préfererais monter des serveurs web...
 
Heureusement, on a bcp de temps libre pendant l'année !
 
Bha vivement dans 3 ans que je prenne le meme type de vacances que toi !

 

[jfdsdjhfuetppo]--Message édité par netswitch le 05-05-2002 à 19:32:07--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 05-05-2002 à 19:39:24    

Oups, ya encore un petit prblm : si je lance un  
select * from CLIENT where LOCALITE = 'Toulouse'
 
Il le prend comme  
select * from CLIENT where LOCALITE = \'Toulouse\'
 
donc évidemment, ca passe pas ...

Reply

Marsh Posté le 05-05-2002 à 19:41:28    

:lol: de rien :)
maintenant que tu as ton premier script php, tu pourras l'étoffer facilement (ça ressemble très fort au C), tu trouveras toute les fonctions sur http://www.php.net.
 
clair qu'à l'unif tu as bcp de temps comparé à un graduat, mais c pas trop le même niveau de formation :(. j'ai hésité à passer en license, mais j'ai raté la date des examens l'année passée, et j'ai plus trop la motivation. (pffff, chu movais)

 

[jfdsdjhfuetppo]--Message édité par ethernal le 05-05-2002 à 19:41:54--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 05-05-2002 à 19:44:25    

netswitch a écrit a écrit :

Il le prend comme  
select * from CLIENT where LOCALITE = \'Toulouse\'




 
$requete= stripslashes($requete);
$req= mysql_query...
 
ça dépend de ta config du serveur php, donc si tu change de machine ça peut varier.

Reply

Sujets relatifs:

Leave a Replay

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