Créer des news en JS

Résolu/Fermé
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009 - 11 juin 2009 à 10:26
 biboo - 22 juin 2009 à 13:25
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 mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
19 juin 2009 à 09:37
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
Donnes-nous directement la partie de ton code concernée, pas simplement l'erreur. :)
0
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 mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
19 juin 2009 à 10:09
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 mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
19 juin 2009 à 10:15
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
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 mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
19 juin 2009 à 10:45
je vais tester tout ça je te redis quoi merci ;)

(oui je bosse avec MySQL)
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
19 juin 2009 à 11:45
$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
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 mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
19 juin 2009 à 15:41
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 mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
22 juin 2009 à 09:55
non? personne n'as d'idée?
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
22 juin 2009 à 11:18
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
Salut, tant mieux que ça marche. :)
0