Afficher deux table dans une même page

Afficher deux table dans une même page - PHP - Programmation

Marsh Posté le 08-01-2014 à 14:47:11    

Bonjour,  
Je voudrais juste savoir comment peut-on mettre 2 fois cette ligne :  
 
$sql = 'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC;';  
(en changeant biensûr la table et ce qu'il y a dedant )  
Le code entier :
<?php
// on teste si le formulaire a été validé
if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
    // on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db('test', $base);
   
    // on teste la déclaration de nos variables
    if (!isset($_POST['news'])) {
    $erreur = 'Les variables nécessaires au script ne sont pas définies.';
    }
    else {
    if (empty($_POST['news'])) {
        $erreur = 'Au moins un des champs est vide.';
    }
    // si tout est bon, on peut commencer l'insertion dans la base
    else {
        // lancement de la requête d'insertion
        $sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.date("Y-m-d H:i:s" ).'", "'.mysql_escape_string($_POST['news']).'" )';
   
        // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
   
        // on ferme la connexion à la base de données
        mysql_close();
   
        // on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
        header('Location: news.php');
        // on termine le script courant
        exit();
    }
    }
}
?>
<html>
<head>
<title>Insertion d'une nouvelle news</title>
</head>
   
<body>
   
<!-- on fait pointer le formulaire vers la page traitant les données -->
<form action="insert_news.php" method="post">
<table>
<tr><td>
   
Message :
</td><td>
<textarea name="news" cols="50" rows="2.5"><?php if (isset($_POST['news'])) echo htmlentities(trim($_POST['news'])); ?></textarea>
</td></tr><tr><td><td align="right">
<input type="submit" name="go" value="Poster la news">
</td></tr></table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db('test', $base);
   
// lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
$sql = 'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC;';
   
   
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
   
// on compte le nombre de news stockées dans la base de données
$nb_news = mysql_num_rows($req);
   
if ($nb_news == 0) {
    echo 'Aucune news enregistrée.';
}
else {
    // si on a au moins une news, on l'affiche
    while ($data = mysql_fetch_array($req)) {
   
    // on décompose la date
    sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
   
    // on affiche les résultats
    '<br />';
    '<br />';
    '<br />';
       
    echo 'Message : ' , nl2br(htmlentities(trim($data['texte_news']))) , '<br />';
    echo 'Postée le : ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec , '<br /><br /><br />';
   
   
   
    }
}
// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);
   
// on ferme la connexion à la base de données
mysql_close ();
?>

Reply

Marsh Posté le 08-01-2014 à 14:47:11   

Reply

Marsh Posté le 09-01-2014 à 21:27:33    

Bonjour,
 
Je comprends pas trop ta question ^^"  
Concrètement tu veux faire quoi avec ta deuxième ligne pareil mais avec des valeurs différentes :p
 
tu veux faire une autre requête ? Comme par exemple afficher tout les membres et toute les news ?  
Si oui, bah  
$req2 = 'TA REQUTE ';
$req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());  
 
Etc...
 
 


---------------
"La valeur d'un homme tient dans sa capacité à donner et non dans sa capacité à recevoir." Albert Einstein / "Dans la nature, tout a toujours une raison. Si tu comprends cette raison, tu n'as plus besoin de l'expérience." Léonard De Vinci
Reply

Marsh Posté le 15-01-2014 à 16:09:47    

Je ne comprends pas trop la question mais comme la dit torwood3, il est tout à fait possible d'exécuter plusieurs requêtes ! Le seul truc à faire, c'est de leur affecter une variable spécifique pour ne pas écraser le précédent résultat...

Reply

Sujets relatifs:

Leave a Replay

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