code php dans htlm

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 : code php dans htlm

Re: code php dans htlm

par orenx22 » 03 déc. 2013, 15:49

L'id est la variable de ta requête. Celle ci soit être transmise par l’utilisateur de ton site. Dans l'idée il faudrait qu'il clique sur un des boutons (balise <a></a>) dans lesquels les différentes id serait exploité.

Exemple :

Si tu lance la page 'index.php' page qui est lancer de base sur le serveur apache (web).

Tape dans l'url de ton explorateur internet : '/localhost/tonsite/index.php?id=0' avec 'tonsite' comme valeur de ton répertoire ou tu as mis tes fichiers php.

Tout en haut de ta page index tu va y ajouter un script php qui va te permettre de récupérer id = 0.

<?php 

if( isset( $_GET['id'] ) )
{
    echo $_GET['id'];
}

// algorithme :
// Si le tableau $_GET possède une clé 'id'
// On affiche ça valeur.

?>
Comment lister les id disponible dans ta base de données ?

<?php 

// -- CONNEXION BASE DE DONNEES ------------------------------------------------

$dbname = "maBaseDeDonnees" ;
$host = '127.0.0.1' ;
$port = '3306' ;
$user = 'root' ;
$password = '' ;

$dsn = "mysql:dbname=$dbname;host=$host;port=$port;" ;
$basededonnees = new PDO( $dsn, $user, $password );

// -- LISTE DES LIENS ----------------------------------------------------------

$sql = "SELECT id,titre FROM maTable" ;
$req = $basededonnees-> prepare( $sql );
$req-> execute();

$liens = $req-> fetchAll( PDO::FETCH_ASSOC );

// -- RECUPERATION DE L'ID ET CONSULTATION DE LA BASE DE DONNEES ---------------

$result = null ;

if( isset( $_GET['id'] ) and is_int( $_GET['id'] ) )
{
    $sql = "SELECT * FROM maTable WHERE id = ?" ;
    $req = $basededonnees-> prepare( $sql );
    $req-> execute( array( $_GET['id'] ) );
    
    $result = $req-> fetch( PDO::FETCH_ASSOC );
}

?>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>page INDEX</title>
    </head>
    <body>
        <?php if( !is_null( $req ) ): ?>
        <div class="result">
            <div class="id"><?php echo $result['id'] ?></div>
            <div class="titre"><?php echo $result['titre'] ?></div>
            <div class="text"><?php echo $result['text'] ?></div>
        </div>
        <?php endif ?>
        <div class="liens">
            <ul>
            <?php foreach( $liens as $bouton ): ?>
                <li><a href="index.php?id=<?php echo $bouton['id'] ?>"><?php echo $bouton['titre'] ?></a></li>
            <?php endforeach ?>
            </ul>
        </div>
    </body>
</html>
Vu que tu débutes, tu ne va pas tout comprendre. Ce qui est primordiale pour le moment, c'est de trouve des petites explications sur :

Les variables
Les pointeurs (les tableaux)
Les conditions
Les boucles

Souvent, les débutants ayant appris ces 4 éléments se lancent dans la programmation. Pour moi c'est une erreur, il faut continuer l'apprentissage et découvrir :

Les fonctions
Les objet

Ciao et bon courage pour les nombreuses heures de lecture qui t'attendent, ne te décourage pas !

Re: code php dans htlm

par efedril » 03 déc. 2013, 12:36

oui il manque id car j'ai pas encore trouver comment le récupérer

même si l'id est unique on est sur des liaison n-m donc plusieurs réponses possible

Re: code php dans htlm

par nico63800 » 03 déc. 2013, 11:58

en jetant un oeil à ta requet SQL je m'étonnes de voir çà:
AND idpropriétaire = ");
ne manquerai t il pas l'id recherché ?
de plus si tu fais une requete sur un id unique pourquoi faitre une boucle derrière avec le while puisque ta requete te ramenera forcement un seul enregistrement ?

Re: code php dans htlm

par nico63800 » 03 déc. 2013, 11:54

oui elle est valide mais ta variable $nom est un tableau

et dans la ligne <OPTION VALUE="1"><?php echo $nom[$i];?></OPTION> tu fais reference au dernier element du tableau
car $i a toujours la valeur de la derniere occurence de la boucle while :
while ($row = mysql_fetch_assoc($result)) {
$nom[$i]=$row['idavatar'];
$i=$i+1;
}

Re: code php dans htlm

par efedril » 03 déc. 2013, 11:47

donc ma variable $nom[$i] est valide dans ma ligne <OPTION VALUE="1"><?php echo $nom[$i; ?>/OPTION> et c'est bien la même que initialiser avant?

Re: code php dans htlm

par nico63800 » 03 déc. 2013, 11:26

bonjour
La portée d'une variable dépend du contexte dans lequel la variable est définie. Pour la majorité des variables, la portée concerne la totalité d'un script PHP.

voir ici : http://php.net/manual/fr/language.variables.scope.php

donc pour repondre à ta question une variable définie en première ligne est valide jusqu'à la derniere ligne du script.
Quand à crréér plusieurs "zones" de php dans le "html", pas de problemes. Ceci dit la bonne pratique est d'éviter
une alternance de taritement php et de code html. Idéalement, le code html est utilisée pour la "vue" et les instructions php sont séparées.

code php dans htlm

par efedril » 03 déc. 2013, 11:08

salut à tous voila je me posais une question

lors de l'ajout de php dans du html il est possible de créer plusieurs zone de php (avec <?php ?>) mais ses zone sont elles connecter entre elle? Une variable créer dans une 1er peut elle être utiliser dans une autre?

ex
<?php
  $i=0;
  $query = sprintf("SELECT NomMagasin FROM Magasins,professionnel_has_magasins,Professionnel WHERE Magasins.idmagasins = professionnel_has_magasins.magasins_idmagasins AND professionnel_has_magasins.professionnel_idpropriétaire = idpropriétaire AND idpropriétaire =  ");
  $result = mysql_query($query);
  while ($row = mysql_fetch_assoc($result)) {
  $nom[$i]=$row['idavatar'];
  $i=$i+1;
  }
?>
<TABLE BORDER=0>
<TR>
	<TD>forme juridique</TD>
	<TD>
	<SELECT name="act">
		<OPTION VALUE="1"><?php echo $nom[$i];?></OPTION>
		<OPTION VALUE="2">Fondation</OPTION>
		<OPTION VALUE="3">Nom personnel</OPTION>
		<OPTION VALUE="4">SAM</OPTION>
		<OPTION VALUE="5">SAM</OPTION>
		<OPTION VALUE="6">SARL</OPTION>
		<OPTION VALUE="7">SCI</OPTION>
		<OPTION VALUE="8">SCS</OPTION>
		<OPTION VALUE="9">SNC</OPTION>
	</SELECT>
	</TD>
</TR>