CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide pour mon script de news...

venitius
venitius
Niveau 10
18 octobre 2005 à 14:23:04

:salut: tout le monde! Je viens de coder un script de news mais le prob c´est que ça marche pas.
voici le lien où on devrait voir les news:
http://group.neeweb.com/~ndspower/news.php

Voici le lien pour insérer des news:
http://group.neeweb.com/~ndspower/insert_news.php

et voici le code de la page news.php:
<?
//on se connnecte à la base
$base = mysql_connect (´localhost´,´veni´,´monmotdepasse´);
mysql_select_db (´mysql´,$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 met un message d´erreur au cas où ça se passe pas bien...
$req = mysql_query($sql) or die (´Erreur SQL !< br />´.$sql.´<br />´.mysql_error());

//on compte le nombre de news stockés dans la base de donnée...
$nb_news = mysql_num_rows($req);

if ($nb_news == 0) {
echo ´Aucune news enregistrées!´ ;
}

else {
//si il y´en a au moins une!
while ($data = mysql_fetch_array($req)) {

sscanf($data[´date´], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);

//on affiche les résultats
echo ´<br />News de : ´ , stripslashes(htmlentities(trim($data[´auteur´]))) , ´<br />´;
echo ´Titre : ´ , stripslashes(htmlentities(trim($data[´titre´]))) , ´<br />´;
echo ´Postée le : ´ , $jour , ´/´ , $mois , ´/´ , $an , ´ à ´ , $heure , ´:´ , $min , ´:´ , $sec , ´<br /><br />´;
echo ´News : ´ ,
nl2br(stripslashes(htmlentities(trim($data[´texte_
news´])))) , ´<br />´;
}
}

//on libère l´espace allouée à cette requête
mysql_free_result ($req);

//on ferme la connection à la base de donnée!
mysql_close;
?>

et maintenant le code de la page insert_news.php

if (isset($_POST[´go´]) && $_POST[´go´]==´Poster la news´) {
// on se connecte à notre base
$base = mysql_connect (´localhost´, ´veni´, ´monmotdepasse´);
mysql_select_db(´mysql´, $base);

// on teste la déclaration de nos variables
if (!isset($_POST[´auteur´]) || !i sset($_POST[´titre´]) || !i sset($_POST[´news´])) {
$erreur = ´Les variables nécessaires au script ne sont pas définies.´;
}
else {
if (empty($_POST[´auteur´]) || empty($_POST[´titre´]) || 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("", "´.addslashes($_POST[´auteur´]).´", "´.addslashes($_POST[´titre´]).´", "´.date("Y-m-d H:i:s").´", "´.addslashes($_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: ../index.php´);
// on termine le script courant
exit();
}
}
}
?>

<html>
<head>
<title>Insertion d´une nouvelle News</title>
</head>
<body>

<form action="insert_news.php" method="post">
<table>
<tr>
<td>
<span class="gras">Auteur :</span>
</td>
</tr>
<input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST[´auteur´])) echo
stripslashes(htmlentities(trim($_POST[´auteur´])))
; ?> ">
</td></tr><tr><td>
<span class="gras">Titre :</span>
</td><td>
<input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST[´titre´])) echo
stripslashes(htmlentities(trim($_POST[´titre´])));
?> ">
</td></tr><tr><td>
<span class="gras">News :</span>
</td><td>
<textarea name="news" cols="50" rows="10"><?php if (isset($_POST[´news´])) echo stripslashes(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>

Voilà :merci: d´avance pour votre aide précieuse!! :-)

panther751
panther751
Niveau 10
18 octobre 2005 à 16:51:59

Tu l´as créé la base qui s´appelle mysql ou pas?

venitius
venitius
Niveau 10
18 octobre 2005 à 17:28:19

ben j´ai créé ma table dans la base de donnée se nommant mysql. Je dois mette le nom de la base de donnée ou de la table?? :question:

venitius
venitius
Niveau 10
18 octobre 2005 à 17:28:54

je veux dire ici:
mysql_select_db (´mysql´,$base);

venitius
venitius
Niveau 10
18 octobre 2005 à 17:34:21

maintenant j´ai remplacé mysql par le nom de ma table. (news)
mais ça marche toujours pas!
je comprend pas!

captain_torche
captain_torche
Niveau 10
18 octobre 2005 à 17:43:55

MySQL, c´est le système de gestion de bases de données (SGBD), mais tu as déjà défini que tu l´utilisais par la commande mysql_select_db.

Ensuite, il peut comprendre plusieurs bases de données, chacune comportant plusieurs tables.

Chez la plupart des hébergeurs, le nom de la base de données, est ton nom d´utilisateur.

venitius
venitius
Niveau 10
18 octobre 2005 à 18:16:38

ah oui lol je crois que je viens de comprendre!! J´essaie et je vous dis si ça marche!! :-)

venitius
venitius
Niveau 10
18 octobre 2005 à 19:38:34

ça marche pas!! et J´ai mis le nom de la base de donnée que m´a donné mon hébergeur...
:svp: aidez-moi!

captain_torche
captain_torche
Niveau 10
18 octobre 2005 à 22:09:38

Tu as quoi, comme message d´erreur ?

panther751
panther751
Niveau 10
18 octobre 2005 à 22:26:03

Regarde tes erreurs, elles indiquent la solution:

Unknown column ´date´ in ´field list´
traduit ca donne à peu près ceci:
La colonne ´date´ n´existe pas dans la ´liste de champs´

Ce qui signifie que tu dois la créer. Crée d´abord ton tableau avant de vouloir le remplir.

venitius
venitius
Niveau 10
19 octobre 2005 à 10:16:42

tu veux dire ma table?´ Mais je comprend pas! Je l´ai créer!!
Bon attendez je l´a refait...
ah oui pour la base de donnée. Je crée ma table sous easyphp sous la base de donnée test. Mais après pour la base de donnée je dois mettre le nom que m´a donné mon hébergeur ou le nom de la base de donnée où est placé la table? (test)

:merci: d´avance!

venitius
venitius
Niveau 10
19 octobre 2005 à 10:21:54

voici ma table: (elle a été créé dans la base de donnée test)
CREATE TABLE `news` (
`id` INT( 6 ) NOT NULL AUTO_INCREMENT ,
`auteur` VARCHAR( 30 ) NOT NULL ,
`titre` TEXT NOT NULL ,
`date` DATETIME DEFAULT ´0000-00-00 00:00:00´ NOT NULL ,
`texte_news` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;

captain_torche
captain_torche
Niveau 10
19 octobre 2005 à 10:59:57

Et, tu as transféré cette table chez ton hébergeur ?

venitius
venitius
Niveau 10
19 octobre 2005 à 11:05:08

euh non. Comment faire? :question: (on m´a toujours dit de ne rien faire après...)

venitius
venitius
Niveau 10
19 octobre 2005 à 11:47:52

:up:

captain_torche
captain_torche
Niveau 10
19 octobre 2005 à 12:30:17

Deux solutions :
- Tu trouves le phpmyadmin de ton hébergeur (tu dois avoir une console d´administration, ou un truc comme ça), et tu copies/coller le code que tu viens de poster dedans

- tu crées une page contenant une requête SQL contenant la requête citée plus haut.

venitius
venitius
Niveau 10
19 octobre 2005 à 13:02:07

donc je copie la requête que j´ai mis plus haut et je la colle en haut de ma page où doivent apparaître les news??? :question:

venitius
venitius
Niveau 10
19 octobre 2005 à 13:40:41

ça me donnerait donc ça?
CREATE TABLE `news` (
`id` INT( 6 ) NOT NULL AUTO_INCREMENT ,
`auteur` VARCHAR( 30 ) NOT NULL ,
`titre` TEXT NOT NULL ,
`date` DATETIME DEFAULT ´0000-00-00 00:00:00´ NOT NULL ,
`texte_news` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;
<?
//on se connnecte à la base
$base = mysql_connect (´localhost´,´veni´,´monmotdepasse´);
mysql_select_db (´naruto´,$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 met un message d´erreur au cas où ça se passe pas bien...
$req = mysql_query($sql) or die (´Erreur SQL !< br />´.$sql.´<br />´.mysql_error());

//on compte le nombre de news stockés dans la base de donnée...
$nb_news = mysql_num_rows($req);

if ($nb_news == 0) {
echo ´Aucune news enregistrées!´ ;
}

else {
//si il y´en a au moins une!
while ($data = mysql_fetch_array($req)) {

sscanf($data[´date´], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);

//on affiche les résultats
echo ´<br />News de : ´ , stripslashes(htmlentities(trim($data[´auteur´]))) , ´<br />´;
echo ´Titre : ´ , stripslashes(htmlentities(trim($data[´titre´]))) , ´<br />´;
echo ´Postée le : ´ , $jour , ´/´ , $mois , ´/´ , $an , ´ à ´ , $heure , ´:´ , $min , ´:´ , $sec , ´<br /><br />´;
echo ´News : ´ ,

nl2br(stripslashes(htmlentities(trim($data[´texte_

news´])))) , ´<br />´;
}
}

//on libère l´espace allouée à cette requête
mysql_free_result ($req);

//on ferme la connection à la base de donnée!
mysql_close;
?>

ça me semble bizarre... :doute:

captain_torche
captain_torche
Niveau 10
19 octobre 2005 à 14:18:06

non, tu crées une page, que tu remplis comme ça :
<?php
mysql_query("CREATE TABLE `news` (`id` INT(6) NOT NULL AUTO_INCREMENT, `auteur` VARCHAR(30) NOT NULL,
`titre` TEXT NOT NULL, `date` DATETIME DEFAULT ´0000-00-00 00:00:00´ NOT NULL, `texte_news` TEXT NOT NULL, PRIMARY KEY (`id`))");
?>

venitius
venitius
Niveau 10
19 octobre 2005 à 14:30:45

et je la nomme comment? et ensuite je la transfère avec Fillezilla c´est ça? :question:

merci d´avance!!

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment