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 » comparer résultat d'un champ avec la table puis RESULTAT :: SELECT * » 28-05-2015 21:48:39

Je te remercie pour ta réponse ...
mais je ne vois toujours pas comment on compare un résultat de formulaire et un enregistrement dans la table,
sans passer par SELECT WHERE ... LIKE
La ressource devrait être le résultat qui compare les deux données.
Y-aurait-il une autre méthode ?
Je vous remercie ...
wink

#2 Forum Général PHP » plantage de UPDATE » 10-05-2015 15:39:57

Fred974
Réponses : 1

Bonjour à tous,

J'ai essayé de trouver la solution mais ça plante à tous les coups! hmm

dans mon index j'ai plusieurs formulaires :
un formulaire avec un textarea qui contient "titre" et un bouton submit
un formulaire avec un textarea qui contient contenu01 et un bouton submit
un formulaire avec un textarea qui contient contenu02 et un bouton submit
un formulaire avec un textarea qui contient contenu03 et un bouton submit

Dans chaque textarea il y a des données issues de la table
cont_tbl
qui contient les champs :  id, date, titre, contenu1, contenu2, contenu3
ou rub_tbl qui contient les champs :  id, titre

Quand id=1 par exemple
titre : select titre FROM rub_tbl where id=1
select contenu1 FROM cont_tbl where id=1
select contenu2 FROM cont_tbl where id=1
select contenu3 FROM cont_tbl where id=1

Chaque formulaire pointe vers une page différente
valid_titre01
valid_cont01
valid_cont02
valid_cont03

voici le code de la première page : les 3 formulaires


<form action="valid_titre01.php" method="post" name="form1">
<textarea name="titre" cols="50" rows="1">
<?php
/* affichage contenu */
    $query = "SELECT titre FROM rub_tbl WHERE id=1";
   
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
       
        printf ("%s", $row[0]);
    }
    $result->close();
}
?>
  </textarea>
       <br/><br/>
          <input type="submit" value="Modifier" name="send">
          </form></p></td>
          <td width="477"><?php
/*  affichage  vous etes ici>>> ACCUEIL */
    $query = "SELECT titre FROM rub_tbl WHERE id=1";
   
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
       
        printf ("%s", $row[0]);
    }
    $result->close();
}

?></td>
        </tr>
      </table>
     
      <table width="1024" border="0" cellspacing="10" cellpadding="10">
        <tr>
          <td width="600"><h2>&nbsp;</h2>
<p>&nbsp;</p></td>
          <td width="354">&nbsp;</td>
        </tr>
      </table>
      <table width="1024" border="0" cellspacing="10" cellpadding="10">
        <tr>
          <td width="477" height="260"><h2>MODIFICATION DU CONTENU1</h2>
     
     
<form action="valid_cont01.php" method="post" name="form1">
<textarea name="contenu1" cols="50" rows="10">
<?php
/* affichage contenu */
    $query = "SELECT contenu1 FROM cont_tbl WHERE id=1";
   
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
       
        printf ("%s", $row[0]);
    }
    $result->close();
}
?>
  </textarea>
       <br/><br/>
          <input type="submit" value="Modifier" name="send">
          </form>
     
<form action="valid_cont02.php" method="post" name="form1">
<textarea name="contenu2" cols="50" rows="10">
<?php
/* affichage contenu */
    $query = "SELECT contenu2 FROM cont_tbl WHERE id=1";
   
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
       
        printf ("%s", $row[0]);
    }
    $result->close();
}
?>
  </textarea>
       <br/><br/>
<input type="submit" value="Modifier" name="send">
       </form>

<form action="valid_cont03.php" method="post" name="form1">
<textarea name="contenu3" cols="50" rows="10">
<?php
/* affichage contenu */
    $query = "SELECT contenu3 FROM cont_tbl WHERE id=1";
   
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
       
        printf ("%s", $row[0]);
    }
    $result->close();
}
?>
</textarea>
       <br/><br/>
<input type="submit" value="Modifier" name="send">
       </form>

la page valid_titre01.php // tout fonctionne!

<?php
include('../connect.php');
include('../css.php');
/* Affichage NAV */
?>
<?php
$titre = $_POST["titre"];
echo "$titre";
/* affichage contenu */
$query = "UPDATE rub_tbl SET titre = '$titre' WHERE id=1";
$result = $mysqli->query($query);
printf ($result);
?>

la page valid_cont01.php // tout fonctionne!

<?php
include('../connect.php');
include('../css.php');
/* Affichage NAV */
?>
<?php
$contenu = $_POST["contenu1"];
echo "$contenu";
/* affichage contenu */
$query = "UPDATE cont_tbl SET contenu1 = '$contenu' WHERE id=1";
$result = $mysqli->query($query);
printf ($result);
?>

<?php /* AFFICHER CONTENUS PRINCIPAUX II */
/* affichage contenu */
    $query = "SELECT contenu2 FROM cont_tbl WHERE id=1";
   
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
       
        printf ("%s", $row[0]);
    }
    $result->close();
}

la page valid_cont02.php // ça plante! I don't understand mad
<?php
include('../connect.php');
include('../css.php');
?>
<?php
$contenu = $_POST["contenu2"];
print "$contenu";
/* affichage contenu */
$query = "UPDATE cont_tbl SET contenu2 = $contenu WHERE id=1";
$result = $mysqli->query($query);
printf ($result);

print "$result";
?>
<?php /* AFFICHER CONTENUS PRINCIPAUX II */
/* affichage contenu */
    $query = "SELECT contenu2 FROM cont_tbl WHERE id=1";
   
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
       
        printf ("%s", $row[0]);
    }
    $result->close();
}
?>


la page valid_cont03.php // ça plante! I don't understand mad


<?php
include('../connect.php');
include('../css.php');
?>
<?php
$contenu3 = $_POST["contenu3"];
echo "$contenu3";
/* affichage contenu */
$query = "UPDATE cont_tbl SET contenu3 = '$contenu3' WHERE id=2";
$result = $mysqli->query($query);
printf ($result);
?>

La page titre01.php et valid_cont01.php fonctionnent et les deux suivantes plantent. Incompréhensible. J'ai tout essayé.
Je me remets au php et c'est douloureux wink
Je vous remercie d'avance pour votre aide:cool:

#3 Forum Général PHP » comparer résultat d'un champ avec la table puis RESULTAT :: SELECT * » 28-05-2015 21:48:39

Fred974
Réponses : 6

Bonjour à tous,

J'essaye de récupérer des données d'un champ saisi en amont qui s'appelle "query"
J'ai une table cont_tbl  AVEC  id, date, contenu1, contenu2, contenu3 et je veux afficher les résultats de la colonne contenu1
j'utilise la fonction LIKE mais ça ne marche pas; Error: SELECT * FROM cont_tbl WHERE contenu1 LIKE 'synergie%'
J'ai l'impression que c'est une erreur de syntaxe vers LIKE ...
J'ai pourtant essayé LIKE $contenu, LIKE '$contenu', LIKE "$contenu" , LIKE "'$contenu'", LIKE ."'$contenu'". etc ...
j'ai aussi essayé contenu1 = $contenu, etc ...
Rien ne marche ...

Quand je tape par exemple synergie dans le formulaire en amont, je récupère bien $contenu qui est : synergie.
mais quand le prog. compare contenu1 ( dont je sais qu'il contient le mot synergie ) avec $contenu ( qui a la valeur synergie)
Je n'ai aucun résultat!
Avec like y-a-t-il une différence entre majuscules et minuscules ?

En vous remerciant pour votre collaboration. wink

Voici le code de la page index.php

<form action="affichage.php" method="post">
<label for="query">Entrez votre recherche : </label>
<input type="search" name="query" maxlength="60" size="60" id="query"><br/>
<input type="submit" value="Rechercher">
</form>



Voici le code de la page afficher .php


<?php

include ("../css.php");
include ("../connect.php");
?>

<?php
$contenu = $_POST["query"];
echo "recherche saisie : $contenu<br/>";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


  $sql = "SELECT * FROM cont_tbl WHERE contenu1 LIKE '$contenu' ";
if ($conn->query($sql) === TRUE) {
    echo "<h2>Affichage des résultats : %<br></h2>";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

?>

#4 Re : Forum Général PHP » SELECT * FROM Question toute bête mais ça bloque !!! » 19-04-2015 18:09:03

Bonjour tof73,
Je te remercie pour ta réponse.
donc dans la requête
$db = mysqli_connect ('localhost', 'user', ''), il faut rajouter un champ avec le nom de la base comme ceci :
( 'localhost', 'user', '', 'nom_base' )
D'après toi ça devrait passer comme ça ?
> je vais tester cela tout de suite
J'ai bien noté pour SELECT id,titre FROM rub_tbl WHERE id=1
> je vais tester cela tout de suite

#5 Forum Général PHP » SELECT * FROM Question toute bête mais ça bloque !!! » 19-04-2015 18:09:03

Fred974
Réponses : 2

Bonjour,


j'ai regardé de multiples forums et je n'arrive pas à résoudre la dernière erreur sur ma page.

Je veux juste afficher un enregistrement dans ma table rub_tbl en l'occurrence le titre  de la rubrique.


Voici le code :

<?php 

/*Afficher XXXX1 ACCUEIL */

$db = mysqli_connect ('localhost', 'user', '')
       or die("Impossible de se connecter : " . mysql_error());
      
    $sql='SELECT id,titre FROM rub_tbl WHERE id="1"';
    $req = mysqli_query($db,$sql) or die ('ERREUR '.$sql.' '.mysql_error());

while ($data = mysqli_fetch_array($req));
   {
echo'
<font face="arial" size="1" color="black">
<b><a href="index.php">'.$data["titre"].'</a></b></font>&nbsp;&nbsp;';}
?>


J'ai ce message d'erreur : ERREUR SELECT id,titre FROM rub_tbl WHERE id="1"

PHP 5.5 Serveur Hostinger
Pourtant je ne vois rien

Je vous remercie de m'indiquer ce qui ne va pas en détail si vous avez le temps , ça me fera progresser ...
Cela fait plusieurs heures que je potasse là dessus et c'est rageant. sad
Je pense que c'est un problème de syntaxe. En plus je ne sais plus si on doit mettre mysql_query ou mysqli_query.
Quelles fonction comme mysql_query ont migré vers mysqli_query je sais qu'il y a mysqli_fetch array et pas mysql_erreur
c'est compliqué;)

Enfin, je vous remercie bien pour votre aide.

Pied de page des forums

Propulsé par FluxBB