| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
quicherche Nouveau WRInaute
Inscrit le: 04 Jan 2005 Messages: 14 Localisation: tahiti
|
Posté le : Mar Avr 25, 2006 11:27 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
bonjour,
qui pourrait m'aider à remplir ce script pour la creation d'un flux rss ?
sachant que ma table est nommée : xlagenda et
que je souhaite récupérer les champs suivants : date description contact
cette c'est ok ! mon script se connecte à la base !
| Code: |
// connexion a la base
@mysql_connect($host,$user,$pwd) or die("Connexion impossible");
@mysql_select_db($base) or die("Echec de selection de la base");
// selection des 5 dernieres news
$res=mysql_query("SELECT * FROM news ORDER BY date DESC LIMIT, 5"); |
Voila la prtie que j'arrive pas à renseigner...
| Code: |
// extraction des informations et ajout au contenu
while($tab=mysql_fetch_array($res)){
$titre=$tab[titre];
$lien=$tab[lien];
$description=$tab[description];
$date=$tab[date];
$date2=date("D, d M Y H:i:s", strtotime($date));
$xml .= '<item>';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$lien.'</link>';
$xml .= '<pubDate>'.$date2.' GMT</pubDate>';
$xml .= '<description>'.$description.'</description>';
$xml .= '</item>';
} |
merci pour votre aide
pascal |
|
| |
|
 |
spidetra WRInaute accro

Inscrit le: 07 Juil 2003 Messages: 1499 Localisation: Toulouse
|
Posté le : Mar Avr 25, 2006 12:22 Sujet du message: Re: comment récupèrer les valeurs des champs d'une table sq |
|
|
| quicherche a écrit: |
bonjour,
qui pourrait m'aider à remplir ce script pour la creation d'un flux rss ?
sachant que ma table est nommée : xlagenda et
que je souhaite récupérer les champs suivants : date description contact
cette c'est ok ! mon script se connecte à la base !
| Code: |
// connexion a la base
@mysql_connect($host,$user,$pwd) or die("Connexion impossible");
@mysql_select_db($base) or die("Echec de selection de la base");
// selection des 5 dernieres news
$res=mysql_query("SELECT * FROM news ORDER BY date DESC LIMIT, 5"); |
|
Ta table se nomme : xlagenda
tu veux récupérer les champs : date, inscription et contact.
Essaye déjà de modifier ton SELECT :
| Code: |
SELECT date, inscription, contact
FROM xlagenda
ORDER BY date desc
LIMIT 0,5
|
|
|
| |
|
 |
quicherche Nouveau WRInaute
Inscrit le: 04 Jan 2005 Messages: 14 Localisation: tahiti
|
Posté le : Mar Avr 25, 2006 19:22 Sujet du message: merci |
|
|
bonjour et merci car c'est deja mieux...
cependant j'ai encore un petit message d'erreur qui empêche le bon fonctionnement du script :
message d'erreur :
| Code: |
| Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/sites/site180/web/agenda-tahiti-actualite-heiva/maj-rss.php on line 14 |
et voici la ligne 14 :
| Code: |
| while($tab=mysql_fetch_array($res)){ |
merci pour ton aide
tahiti |
|
| |
|
 |
spidetra WRInaute accro

Inscrit le: 07 Juil 2003 Messages: 1499 Localisation: Toulouse
|
Posté le : Mar Avr 25, 2006 20:29 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
| tu as un pb dans ta requête sql. Tu l'as testé directement dans phpmyAdmin, par exemple ? |
|
| |
|
 |
quicherche Nouveau WRInaute
Inscrit le: 04 Jan 2005 Messages: 14 Localisation: tahiti
|
Posté le : Mar Avr 25, 2006 20:40 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
non pas de test ! je suis trop novice pour le faire...
voici un extrait de la table :
| Code: |
//CREATION DE LA TABLE XLAGENDA
mysql_select_db("$dbdb");
$query="CREATE TABLE $table_agenda (
id int(11) NOT NULL auto_increment,
nom text NOT NULL,
date_debut date NOT NULL default '0000-00-00',
date_fin date NOT NULL default '0000-00-00',
description text NOT NULL,
lieu text NOT NULL,
categorie int(11) NOT NULL default'0',
contact text NOT NULL,
adresse text NOT NULL,
email text NOT NULL,
telephone text NOT NULL,
fax text NOT NULL,
lien text NOT NULL,
url text NOT NULL,
user text NOT NULL,
actif tinyint(4) NOT NULL default '0',
KEY id (id)
) |
...desole de ne pas pouvoir te donner plus d'élément ! mais n'hésite pas si tu as besoin d'autres détails.
encore merci
pascal |
|
| |
|
 |
spidetra WRInaute accro

Inscrit le: 07 Juil 2003 Messages: 1499 Localisation: Toulouse
|
Posté le : Mar Avr 25, 2006 21:01 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
Dans mon premier SELECT je me suis planté :
c'est pas inscription mais description
je ne vois pas non plus de champ date, c'est soit date_debut, soit date_fin. Donc ta requête va devenir :
| Code: |
SELECT date_debut, description, contact
FROM xlagenda
ORDER BY date desc
LIMIT 0,5
|
ou
| Code: |
SELECT date_fin, description, contact
FROM xlagenda
ORDER BY date desc
LIMIT 0,5
|
ou
| Code: |
SELECT date_debut, date_fin, description, contact
FROM xlagenda
ORDER BY date desc
LIMIT 0,5
|
|
|
| |
|
 |
quicherche Nouveau WRInaute
Inscrit le: 04 Jan 2005 Messages: 14 Localisation: tahiti
|
Posté le : Mar Avr 25, 2006 21:14 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
le problème reste le meme ! histoire de fou ...
voici le script en entier en espérant que celui ci pourras d'aider :
| Code: |
<?php
// édition du début du fichier XML
$xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>letitre</title>';
$xml .= '<link>adresse</link>';
$xml .= '<description>description</description>';
// connexion a la base
@mysql_connect('xxxxxxxxx','xxxxxxx','xxxxxxx') or die("Connexion impossible");
@mysql_select_db('xxxxxxx') or die("Echec de selection de la base");
// selection des 5 dernieres news
$res=mysql_query("SELECT date_debut, description, contact FROM xlagenda ORDER BY date DESC LIMIT, 0,5 ");
// extraction des informations et ajout au contenu
while($tab=mysql_fetch_array($res)){
$titre=$tab[titre];
$lien=$tab[lien];
$description=$tab[description];
$date=$tab[date];
$date2=date("D, d M Y H:i:s", strtotime($date));
$xml .= '<item>';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$lien.'</link>';
$xml .= '<pubDate>'.$date2.' GMT</pubDate>';
$xml .= '<description>'.$description.'</description>';
$xml .= '</item>';
}
// édition de la fin du fichier XML
$xml .= '</channel>';
$xml .= '</rss>';
// écriture dans le fichier
$fp = fopen("flux.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
@mysql_close();
?> |
si j'arrive à faire fonctionner ce script avec ton aide, je pense que celui pourrai intérrésser plus d'un webmaster qui souhaiterai porposer un flux rss...
merci pour le temps que tu prends
tahiti |
|
| |
|
 |
spidetra WRInaute accro

Inscrit le: 07 Juil 2003 Messages: 1499 Localisation: Toulouse
|
Posté le : Mar Avr 25, 2006 21:23 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
la requête est encore fausse :
- il faut pense à remplacer date par date_debut dans le order by
- tu as un , de trop dans la LIMIT :
c'est par : LIMIT, 0, 5 mais LIMIT 0,5
Cette requête devrait marcher un peu mieux :
| Code: |
$res=mysql_query("SELECT date_debut, description, contact FROM xlagenda ORDER BY date_debut DESC LIMIT 0,5 ");
|
|
|
| |
|
 |
quicherche Nouveau WRInaute
Inscrit le: 04 Jan 2005 Messages: 14 Localisation: tahiti
|
Posté le : Mar Avr 25, 2006 22:07 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
En effet cela fonctionne !
exelent... cependant avant de faire une synthèse pour celles et ceux que cela intérressent, je souhaite savoir :
- si il est possible de rajouter des champs ?
exemple : nom, categorie
si oui quel est la procedure ?
faut il respecter l'ordre dans la table ?
merci encore
tahiti |
|
| |
|
 |
quicherche Nouveau WRInaute
Inscrit le: 04 Jan 2005 Messages: 14 Localisation: tahiti
|
Posté le : Mar Avr 25, 2006 22:14 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
oups j'ai été un peu vite...
dur dur pour gerer les dates !
comment faire apparaitre les dates dans l'ordre ?
il s'agit donc d'un agenda et le but et de proposer la liste des évement avenir !
a quel endroit je peux faire apparaitre les bonnes infos par rapport à la date du jour ?
tahiti |
|
| |
|
 |
spidetra WRInaute accro

Inscrit le: 07 Juil 2003 Messages: 1499 Localisation: Toulouse
|
Posté le : Mar Avr 25, 2006 22:18 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
| quicherche a écrit: |
En effet cela fonctionne !
exelent... cependant avant de faire une synthèse pour celles et ceux que cela intérressent, je souhaite savoir :
- si il est possible de rajouter des champs ?
exemple : nom, categorie
si oui quel est la procedure ?
faut il respecter l'ordre dans la table ?
merci encore
tahiti |
oui, tu peux rajouter tout les champs que tu veux à conditions qu'ils appartiennent aux tables sur lesquels tu fait le select.
L'ordre n'a aucune importante.
Pour prendre tout les champs :
SELECT * : cette syntaxe est déconseillé, surtout dans ton cas où presque tout les champs sont de type text.
autre syntaxe :
SELECT liste_des_champs_dont tu as besoin
SELECT date_debut, description, etc, etc.........
Il faudrait que tu trouve un tutoriel ou un ouvrage SQL pour les débutants. Sinon, là tu vas vraiment galérer. |
|
| |
|
 |
quicherche Nouveau WRInaute
Inscrit le: 04 Jan 2005 Messages: 14 Localisation: tahiti
|
Posté le : Mar Avr 25, 2006 22:35 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
| quicherche a écrit: |
a quel endroit je peux faire apparaitre les bonnes infos par rapport à la date du jour ?
tahiti |
est ce dans la ligne :
| Code: |
| $res=mysql_query("SELECT date_debut, description, contact FROM xlagenda ORDER BY date_debut DESC LIMIT 0,5 "); |
|
|
| |
|
 |
spidetra WRInaute accro

Inscrit le: 07 Juil 2003 Messages: 1499 Localisation: Toulouse
|
Posté le : Mer Avr 26, 2006 9:37 Sujet du message: comment récupèrer les valeurs des champs d'une table sql ? |
|
|
Que désires-tu faire exactement ?
Effectivement c'est dans ton SELECT que tu vas filtrer tes résultats dans une clause WHERE.
| Code: |
SELECT liste_des_champs_qui_vont_bien
FROM xlagenda
WHERE now() BETWEEN date_debut AND date_fin
....
|
ou
| Code: |
SELECT liste_des_champs_qui_vont_bien
FROM xlagenda
WHERE date_debut < now()
....
|
ou des milliers d'autre possibilités en fct° de ce que tu veux faire.
Il te faut une formation de base en SQL. Je ne connais pas de bons tutos pour débutant, il va falloir que tu en trouves un. |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
Définitions :
|
|