PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Problème de lecture de BDD » 12-12-2016 18:37:55

Re bonsoir,

j'ai réussi à trouver une astuce pour passer en Php 5 avec free.... C'est assez simple.
Suivez les explications de cette page :
http://ai13.fr/version-php-pages-perso- … rade-php5/

Il n'en reste pas moins que tous les problèmes ne sont pas résolus car j'ai le droit à un nouveau message d'erreur :
"could not find driver"
je creuse le sujet mais si quelqu'un à une idée.....

Par avance merci.

#2 Re : Forum Général PHP » Problème de lecture de BDD » 12-12-2016 18:37:55

Bonsoir,
Ahhh mince...... bon je vais essayer de contourner le problème en enlevant cette requête en try / catch.
Merci.

#3 Re : Forum Général PHP » Problème de lecture de BDD » 12-12-2016 18:37:55

Salut,

voila, j'ai mis une page en ligne, avec le script,  à l'adresse suivante :
http://goutons.voir.free.fr/essai.php

Si vous préférez un copier coller sur le forum dites le moi mais j'ai peur que cela encombre le fil....
A bientôt.

#4 Re : Forum Général PHP » Problème de lecture de BDD » 12-12-2016 18:37:55

Bonjour,

merci de prendre le temps de jeter un coup d’œil à mon problème.
Sur Free phpMyAdmin est en version : 3.1.5
Pour MySQL la Version du serveur est : 5.0.83
J'avoue que là cela me dépasse.

A bientôt

#5 Forum Général PHP » Problème de lecture de BDD » 12-12-2016 18:37:55

iron dwarf
Réponses : 7

Bonjour à tous,

il y a quelques années maintenant j'avais programmé quelques lignes en php pour exploiter une bdd sous mysql.
Je le faisais sous FAI SFR qui a décidé de fermer ses pages persos.
Je suis donc passé chez free, j'ai importé mon ancienne bdd. Or là surprise mes commandes ne fonctionnent plus.
Je ne peux même pas me connecter j'obtiens le message suivant :

Parse error: syntax error, unexpected '{' in /mnt/108/sda/7/f/goutons.voir/accueil.php on line 7

Chez SFR la Version du client MySQL était : 3.4.11.1deb2
Chez free la Version du client MySQL est : 5.1.61
J'ai beau avoir jeté un coup d’œil à différents sujets déjà traités j'ai l'impression que mon code reste correct.
Si quelqu'un peut m'aider, je suis preneur et l'en remercie par avance.


    <div id="contenu">

<br><br>Bienvenue sur le site de Goutonsvoir.....

  <?php
try
{
  // On se connecte à la base de donnée
$bdd = new PDO('mysql:host=sql.free.fr;dbname=goutons_voir','goutons.voir','xxxx');
}
catch (Exception $e)
{
  // En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : ' . $e->getMessage());
}

// Sélectionner les 5 derniers vins dégustés
$reponse = $bdd->query("SELECT * FROM VINS ORDER BY Date DESC LIMIT 0, 5") or die(print_r($bdd->errorInfo()));

echo "<p>Les 5 derniers dégustés sont :<p>";

  // On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<?php
include('presentation-vins-accueil.php')
?>
<?php
}
  // Termine le traitement de la requête
$reponse->closeCursor();
  ?>

<br><img style="display: block;margin: 100px auto;" src="documents/icone.jpg">

  </div>
 

#6 Re : MySQL, PostgreSQL, etc... » problème de choix dans une liste déroulante » 23-07-2010 08:44:41

Resalut,
après quelques temps de réflexion et de travail..... j'ai réussi à faire ce que je voulais grâce à la réponse de xTG.
Encore merci beaucoup.....
A++

#7 Re : MySQL, PostgreSQL, etc... » problème de choix dans une liste déroulante » 23-07-2010 08:44:41

Merci beaucoup pour toutes vos réponses, mais j'avoue ne pas maîtriser correctement le langage de programmation et ses subtilités. Je vais donc plancher pour améliorer tout ça et avancer.
Encore merci.

#8 Re : MySQL, PostgreSQL, etc... » problème de choix dans une liste déroulante » 23-07-2010 08:44:41

Cela ne semble pas marcher......
En fait le problème est que si je veux sélectionner tous les pays je dois écrire :

where pays is not null......

et si je ne veux sélectionner qu'un seul pays je dois écrire :

where pays ="France".....

Dans un cas il y a un signe égal et des guillemets et dans l'autre il n'y a rien.  Donc j'ai l'impression que je suis bloqué.
Faut-il chercher dans une autre direction ou peut-on conserver ce type d'approche ?

Merci d'avance.

#9 MySQL, PostgreSQL, etc... » problème de choix dans une liste déroulante » 23-07-2010 08:44:41

iron dwarf
Réponses : 7

Bonjour à tous,
Je cherche à faire un formulaire de recherche dans une base de donnée dans lequel j'aurai une liste déroulante avec plusieurs choix de pays. Soit je choisis un pays, soit je choisis de faire ma recherche sur tous les pays.
J'arrive à faire afficher un résultat avec un seul pays ou les résultats avec tous les pays.
Par contre mon code ne gère pas les deux à la fois. Je semble avoir un problème de syntaxe  par contre je n'arrive pas à voir lequel.
L'exemple suivant (de code) est celui ou l'affichage de tous les pays est fonctionnel par contre celui du choix d'un seul pays ne marche pas.
Il faudrait que j'arrive à afficher dans la commande de recherche dans la base :
$reponse = $bdd->query('SELECT * FROM VINS WHERE Pays ="France" AND Cepage =\'' . $_POST['cep'] . '\'')
Mais je n'y arrive pas. Que faire ?????
Code erreur obtenu :
=\\\"France\\\"Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\\\"France\\\" AND Cepage ='Grenache'' at line 1 ) 1

Merci d'avance de vos réponses.

Voilà mon code coté formulaire :


<form method="post" action="index.php?page=recherche">

Formulaire de recherche d'un vin :

  <p>
  <select name="country" />
    <option value='IS NOT NULL'>Tous les pays</option>
    <option value='
="France"'>France</option>
    <option value='
="USA"'>USA</option>
    <option value='
="Italie"'>Italie</option>
    <option value='
="Espagne"'>Espagne</option>
  </select>
 
  <select name="cep" />
    <option value="Grenache">Grenache</option>
    <option value="Cabernet sauvignon">Cabernet sauvignon</option>
    <option value="Syrah">Syrah</option>
  </select>

  <input type="submit" value="Valider" />
  </p>
</form>

voilà  mon code coté recherche et affichage des résultats :


<?php
try
{
  // On se connecte à la base de donnée
$bdd = new PDO('mysql:host=bases.sql;dbname=X', 'Y', 'Z');
}
catch (Exception $e)
{
  // En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : ' . $e->getMessage());
}

echo $_POST['country'];
  // On récupère tout le contenu de la table Vins
$reponse = $bdd->query('SELECT * FROM VINS WHERE Pays ' . $_POST['country'] . ' AND Cepage =\'' . $_POST['cep'] . '\'') or die(print_r($bdd->errorInfo()));

  // On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<table
 style="width: 1000px; text-align: left; margin-left: auto; margin-right: auto;"
 border="1" cellpadding="2" cellspacing="0">
  <tbody>
    <tr>
      <td style="text-align: center; width: 60px;" colspan="6"
 rowspan="1">Nom du vin</td>
    </tr>
    <tr>
      <td style="text-align: center; width: 60px;" colspan="6"
 rowspan="1"><?php echo $donnees['Nom_du_vin']; ?></td>
    </tr>
    <tr>
      <td style="text-align: center; width: 205px;">Pays</td>
      <td style="text-align: center; width: 154px;">Région</td>
      <td style="text-align: center; width: 208px;">Appellation</td>
      <td style="text-align: center; width: 136px;">Cépage</td>
      <td colspan="1" rowspan="1"
 style="text-align: center; width: 196px;">Producteur</td>
      <td style="width: 60px;">Millésime</td>
    </tr>
    <tr>
      <td style="text-align: center; width: 205px;"><?php echo $donnees['Pays']; ?></td>
      <td style="text-align: center; width: 154px;"><?php echo $donnees['Région']; ?></td>
      <td style="text-align: center; width: 208px;"><?php echo $donnees['Appellation']; ?></td>
      <td style="text-align: center; width: 136px;"><?php echo $donnees['Cepage']; ?></td>
      <td colspan="1" rowspan="1"
 style="text-align: center; width: 196px;"><?php echo $donnees['Producteur']; ?></td>
      <td style="text-align: center; width: 60px;"><?php echo $donnees['Année']; ?></td>
    </tr>
    <tr align="center">
      <td colspan="6" rowspan="1" style="width: 60px;">Commentaire</td>
    </tr>
    <tr align="center">
      <td colspan="6" rowspan="1" style="width: 60px;"><?php echo $donnees['commentaire']; ?></td>
    </tr>
  </tbody>
</table>
<p>
<br>
<?php
}
  // Termine le traitement de la requête
$reponse->closeCursor();
?>

 

Pied de page des forums

Propulsé par FluxBB