Question pour un site PHP/MySQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Question pour un site PHP/MySQL

par DvP » 22 sept. 2005, 22:45

Oki chef :)

par Cyrano » 22 sept. 2005, 22:39

non, celui-ci est terminé, nouveau sujet = nouveau message :)

par DvP » 22 sept. 2005, 22:37

Bah, à vrai dire, je reviendrai certainement vers toi pour d'autres problèmes car je suis loin d'avoir accompli ce que je dois faire ;) ... Donc je sais pas si c'est pas mieux de le laisser ouvert nan ?

par Cyrano » 22 sept. 2005, 22:33

Un petit [Résolu] peut-être :?: :)

par DvP » 22 sept. 2005, 22:32

Super ! Merci Cyrano !!! Tu es très rapide :)

Je me suis apperçu trop tard de mon oubli en relisant le tutorial http://www.phpfrance.com/tutoriaux/inde ... l-avec-php

Bon avec tous ces éléments je devrai arriver à avancer un peu !

par Cyrano » 22 sept. 2005, 22:27

Normal, tu n'as pas récupéré le résultat. Proposition de correction.
//.....
        $toto = $_POST['region'];
        $sql_nom = "SELECT `region` FROM `region` WHERE `id_region` = ". $toto .";";
        $nameofregion = mysql_query($sql_nom);
        $nom = mysql_result($nameofregion,0);
        echo("<p>". $nom ."</p>");
//.....

par DvP » 22 sept. 2005, 22:20

Merci pour les renseignements Cyrano !

J'ai vu dans la FAQ un excellent script pour les regions et départements avec des listes liées.
Je m'en suis donc inspiré et modifié pour arriver à ca (pour tester) :
<?php
/* Variables de connexion */
$serveur = "********";
$admin   = "********";
$mdp     = "********";
$base    = "********";
/* On recupere si elle existe la valeur de la region envoye par le formulaire */
$idr = isset($_POST['region'])?$_POST['region']:null;
?>
<head>
<title>Selection</title>
</head>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">
<h3>Version 100% PHP</h3>
<p>Test selection et affichage dynamique d'un texte.</p>

<?php
/* On etablit la connexion a MySQL avec mysql_pconnect() */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
    $choixbase = mysql_select_db($base, $connexion);
    $sql1 = "SELECT `id_region`, `region`".
    " FROM `region`".
    " ORDER BY `id_region`";
    $rech_regions = mysql_query($sql1);
    $code_region = array();
    $region = array();
    /* On active un compteur pour les regions */
    $nb_regions = 0;
    if($rech_regions != false)
    {
        while($ligne = mysql_fetch_assoc($rech_regions))
        {
            array_push($code_region, $ligne['id_region']);
            array_push($region, $ligne['region']);
            /* On incremente de compteur */
            $nb_regions++;
        }
    }
    ?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<fieldset style="border: 3px double #333399">
<legend> Selectionnez une région </legend>
<select name="region" id="region" onchange="document.forms['chgdept'].submit();">
  <option value="-1">- - - Choisissez une region - - -</option>
    <?php
    for($i = 0; $i < $nb_regions; $i++)
    	{	?>
  	<option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>

	<?php    }    ?>
</select>
    <?php
    mysql_free_result($rech_regions);
    /* On commence par verifier si on a envoye un numero de region */
    if(isset($idr) && $idr != -1)
    {	
	$toto = $_POST['region'];
	$sql_nom = "SELECT `region` FROM `region` WHERE `id_region` = $toto";
	$nameofregion = mysql_query($sql_nom);
        echo $nameofregion;
            }
?>

<br /><input type="submit" name="ok" id="ok" value="Envoyer" />
</fieldset>
</form>
<?php
    /* on ferme la connexion */
    mysql_close($connexion);
}
else
{
    /* Erreur MySQL */
?>
<p>Un incident s'est produit lors de la connexion a la base de donnees, veuillez essayer a nouveau ultérieurement.</p>
<?php
}
?>

</body>
</html>
Le mécanisme à l'air bon car j'arrive à afficher l'id de la région mais lorsque je souhaite réaffincher le nom de la région (à terme cela pourrait être un autre champ de la table), cela m'affiche : "Resource id #3" ...

Je suis sûr d'avoir fait une boulette, ca c'est sûr ! ;) Mais où ?

par Cyrano » 22 sept. 2005, 20:29

Sans JavaScript, ce que tu veux faire est impossible : il faut un langage client, or le PHP est un langage serveur. Les informations pour être mises à jour doivent donc être envoyées au serveur où PHP récupère les informations, procède aux calculs nécessaires et retourne une page HTML mise à jour. JavaScript en revanche s'exécute coté client, donc si au départ on envoi dans le JavaScript les variables avec les informations nécessaires, il est possible de faire une mise à jour automatique sans rechargement de la page.

Question pour un site PHP/MySQL

par DvP » 22 sept. 2005, 19:55

Hello,

Voilà j'ai posé un sujet similaire sur un autre site mais je reviens sur ma décision, je ferai sans Javascript : juste en PHP/MySQL.

Je dois faire pour un ami un site (tout du moins 1 page) avec une dizaine de liste de choix dont les données sont dans une DB MySQL + 5 ou 6 cases à cocher. Le tout doit être très dynamique mais sans raffraichissement total de la page.

Le principe est qu'une personne selectionne divers produits dans les liste de choix (catégories de produits) et en fonction de ce qu'elle choisit, cela affiche à coté le descriptif du produit correspondant mais aussi, que cela mette à jour un prix total en bas... et que celui-ci change au fur et à mesure des choix...

J'ai quand même commencé à faire quelque chose en HTML/Javascript pour sous montrer comment je voudrais que ca réagisse mais si c'est complétement mal codé ;)
Ici : http://ptitdav69.free.fr/testsite/Ok4.html

Je ne sais pas trop comment m'y prendre pour avoir ce rendu en PHP/MySQL.
En plus ce qu'il y a dans la page que j'ai faite, c'est faux car les prix ne s'ajoute pas correctement... mon but serai que le prix en bas change au fur et à mesure des choix (sans valider en cliquant sur un bouton si possible).

Avez-vous des exemples concrets pour m'aider please ?

Merci et A+,
DvP