Créer des news en JS

Résolu
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
 biboo -
Bonjour,
j'aimerai mettre en place dans un site un système de news tout simple sur l'accueil ( pas besoin d'admin )
Juste la saisie d'un titre et d'une info puis lorsque j'appuie sur publier la news s'affiche et passe au dessus de la précédente. Je veux pas un logiciel qui gère cela puisque c'est pour un projet de stage.et je ne peux pas faire un programme en PHP.

Je débute dans le monde de la programmation, soyez indulgent svp

et merci de m'aider

27 réponses

kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
salut,
Je me suis donc mis au PHP et je me sers de easyPHP pour tester tout mon petit site. Je me suis donc servi du script PHP que ma donné Gaara un peu plus haut dans les messages, le problème étant que je n'arrive pas a résoudre une erreur lorsque je publie ma news ce message apparait:

"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Documents and Settings\HenryK\Mes documents\Site\MakeNews.php on line 15"

comment faire pour que mon problème se résolve?
0
biboo
 
Donnes-nous directement la partie de ton code concernée, pas simplement l'erreur. :)
0
biboo
 
Avant toutes choses, as-tu construit ta Base de données, avec les tables et les champs des tables qui vont bien?
0
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
pour la parti de mon code:

<?php
mysql_connect("localhost", "test", "test");
mysql_select_db("bdtest");

if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);

mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");

}

$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
while ($donnees = mysql_fetch_array($retour))
// ce serai ici apparament le PB
{
?>

<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3><br />

<p>
<?php
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
</p><br /><hr /><br />

<?php
}
?>



et sinon jai crée un bd mais je ne sais pas tellement quoi mettre comme table dedans =/
0
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai crée un table "news" avec 2 champs dedans ( titre et contenu ) et c'est tout...
n'aurais-je pas du rajouter un champ par exemple "idnews" pour le mettre en clé primaire?
0
biboo
 
1/ Tu bosses bien avec MySQL?
2/ Ajouter une clé primaire pour chaque news serait une bonne idée en effet.
3/ Le code que tu as copié est un peu foireux. Les étapes de connexion seraient plutôt :

> je ne sais plus l'ordre des paramètres, mais tu devrais avoir :
$connexion = mysql_db_connect( "serveur", "login", "password", "database"); // Connexion

$requete = "SELECT .."; // Je te conseille de mettre ta requête dans une chaine de caractères, histoire d'y voir mieux

$resultat = mysql_db_query($connexion, $requete); // Un truc dans le genre, tu prends ton flux de connexion en paramètre quoi

while ($donnees = mysql_fetch_array($resultat)) // ce serai ici apparament le PB
{

}

Essaie d'abord d'établir de bonnes bases (savoir si t'es bien co à la BDD).
0
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
je vais tester tout ça je te redis quoi merci ;)

(oui je bosse avec MySQL)
0
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
$connexion = mysql_db_connect( "serveur", "login", "password", "database"); // Connexion

pour cette ligne j'ai bien compris qu'il fallait que je remplace "serveur" login" password" "database" mais parcontre comment je defini mon login et mon password? et puis je mets quoi à la place de serveur...
je suis désolé hein je connais pas et j'y arrive pas, quitte à passer pour un noeu-noeud =/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
biboo
 
Nan ya pas de soucis. :)

Oui, tu remplaces les champs serveurs login etc.
En l'occurrence, il s'agit de mettre "localhost" pour serveur, le nom de ta BDD à la place de "database".
Pour le reste ça dépend de ta config EasyPHP.
Pour le login/mot de passe, faut voir dans tes fichiers .conf dans EasyPHP. (ça doit être "root"/"password" ou "root"/"" - pas de mot de passe pour le password).
0
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
J'y suis presque!!!
j'ai un dernier probleme

voici mon code PHP pour créer la news

<?php
if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
$base = mysql_connect ('localhost', 'root', 'mysql');
mysql_select_db('MaBD', $base);

if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['news'])) {
$erreur = 'Les variables ncessaires au script ne sont pas dfinies.';
}
else {
if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['news'])) {
$erreur = 'Au moins un des champs est vide.';
}
else {
$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']).'")';

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

mysql_close();

header('Location: ../Index.php');
exit();
}
}
}
?>


sauf que lorsque je l'exécute voici l'erreur:

Erreur SQL !INSERT INTO news VALUES("", "HENRY Kévin", "Test de News", "2009-06-19 15:45:05", "Ceci est un test :\r\nBlablablablablablablablablablablablabla")
Incorrect integer value: '' for column 'id' at row 1


l'erreur viens de "Id" mais comment la corriger?
0
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
non? personne n'as d'idée?
0
kennykev51 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai le plaisir de vous annoncer qu'après 1 semaine et demi d'acharnement, MON INTRANET FONCTIONNE ENFIN!!!!!!!!!
oui je sais j'ai mis le temps ^^!!! je tiens donc à remercier toutes les personnes qui mon aidé

@ bientôt
et merci encore!
0
biboo
 
Salut, tant mieux que ça marche. :)
0