Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[SQL] Lire champs les uns apres les autres

Yann, le mercredi 1 mars 2006 à 09:45:18 
 Signaler ce message aux modérateurs

Bonjour !
je débute. J'ai une table de questions dans ma bdd. Sur mon site je ne veux en afficher qu'une par page puis passer a la suivante. Ca marche tant que j'utilise des ID et qu'ils se suivent mais comme de temps en temps il faut que je supprime une question (Avec une requete SQL "DELETE" en php) les ID ne se suivent plus dans ma table. Donc si j'ai supprimé ma question 2, les ID passent de 1 a 3 et dans mon questionnaire la question 2 affiche donc vide. Sur un autre site on m'a conseillé de ne pas creer de colonne ID. Dans ce cas quel moyen ya t-il pour passer a la question suivante ?
Infiniment merci.

Configuration: phpmyadmin

1

fabrice11901, le mercredi 1 mars 2006 à 10:37:30

Salut
Je comprend pas trop ton problème mais...
En fait si dans ta table sql tu as un champ questions qui contient 100 question et que tu veux afficher la première, la seconde dans un ordre bien précis tu peux faire :
connexion
selexion table :
$requete= ("select question from questionnaire order by id desc");
while ($donnees =
mysql_fetch_array
($requete) )
{
?>
<br> echo $donnees['question']; } ça te donne les questions un après l'autre. P.S j'ai écrit vite fait ce code y a des erreurs mais c à peu près ça...
C'est bizarre, on en apprend tous les jours même quand on ne s'informe pas !!!!

Répondre à fabrice11901

2

Yann, le mercredi 1 mars 2006 à 10:52:39

Salut,
Ca marcherait si je voulais afficher toutes les questions sur une meme page mais je voudrais une seule question par page en fait, je cliquerais sur question suivante et j'aurais la question 2 toute seule sur une page etc.
T'a une idée ?

Répondre à Yann

3

fabrice11901, le mercredi 1 mars 2006 à 10:55:28

Re,
Je ne sais pas si ça marcherai mais mettre les questions dans une variable session par exemple tu penses pas que c'est possible? C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!

Répondre à fabrice11901

4

Yann, le mercredi 1 mars 2006 à 11:04:07

Oui c'est vrai j'ai fait ça, puis j'incrémente d'1 a chaque tour, mais le probleme, c'est que comme je veux pouvoir effacer des questions de temps en temps, apres, les ID ne se suivent plus de 1 en 1.

Répondre à Yann

5

fabrice11901, le mercredi 1 mars 2006 à 11:06:42

Re,
Et pourquoi dans ta table sql tu mets pas un champ question1, question 2... Comme ça à la page qui correspond à la question2 tu va chercher dans ta table la question2 et tu te fais un espace à toi ou tu met les questions avec un formulaire, tu les supprimes, tu les modifis? C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!

Répondre à fabrice11901

6

Yann, le mercredi 1 mars 2006 à 11:29:08

Pour les modifs ca irais mais avec 100 question si je supprime la 50eme ca fait un trou non ? j'ai essayé de combler le trou avec un update mais c'est lourd et en plus ca marche pas :(
T'en pense quoi ?

Répondre à Yann

7

Yann, le mercredi 1 mars 2006 à 11:38:12

Je vais essayer de faire ca : lorsque je supprime une question X, sql attriburait le numero de la question disparu a l'ID le plus haut !
Merci pour l'inspire.

Répondre à Yann

8

fabrice11901, le mercredi 1 mars 2006 à 11:43:58

Re,
Ben si pour la première fois tu remplis tes 100 questions, et que deux jours après tu veuillez modifier le champ20 tu fais un update question20 et ça marche ! ou est ton problème? C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!

Répondre à fabrice11901

9

 Yann, le jeudi 2 mars 2006 à 08:13:24

C'est bon j'ai fais ca, ca marche : if (isset($_GET['supprimer_question']))
{
mysql_query("DELETE FROM quizz WHERE ID = ".$_GET['supprimer_question']); // Requete SQL pour supprimer la question voulue
$totalquestion = mysql_query("SELECT COUNT(ID) AS total FROM quizz");
$val = mysql_fetch_array($totalquestion);
$derniere_question = $val['total']+1;
mysql_query("UPDATE quizz SET ID = '".$_GET['supprimer_question']."' WHERE ID = ".$derniere_question);
}

Répondre à Yann
[SQL Server] nom des champs d'une table bonjour, je cherche à récupérer la liste des champs d'une table (leur nom uniquement) sur une base MS SQL Server... mais je n'y arrive pas. Si je fais "sp_columns table" j'obtiens toutes les infos nécessaires mais je n'arrive pas à en extraire le nom... www.commentcamarche.net/forum/affich-759202-sql-server-nom-des-champs-d-une-table
Concatener 3 champs en 1 en SQL Bonjour, voila mon probleme dans une base de données SQL j'ai une table1 dans laquelle j'ai trois champs : C2#1 char(255), C2#2 char(1), C2#3 char(1) et je voudrais dans une table1bis avoir un seul champ C2 char(257) www.commentcamarche.net/forum/affich-4258995-concatener-3-champs-en-1-en-sql
REQUETE SQL AVEC CHAMPS NON NUL Bonjour, Comment realiser une requete sql en précisant 'si le champ n'est pas nul' ?? voila ce que j'ai SELECT code, reference, numero FROM lignes_factures WHERE code = '$code' and numero DIFFERENT DE VIDE !!! comment exprimer ce different de vide ??... www.commentcamarche.net/forum/affich-5834166-requete-sql-avec-champs-non-nul
Lire et écrire dans une base de données SQL vSalut, Je désire pouvoir lire et écrire dans une base de données SQL Server 2005 en me servant d'Excel. J'ai réussi à importer les données via une connexion ODBC. Je peux alors modifier les valeurs, mais je ne vois pas de moyen pour actualiser la base... www.commentcamarche.net/forum/affich-4632090-lire-et-ecrire-dans-une-base-de-donnees-sql-v
SQL création du champ dans la tableBonjour, Comment on creer le champ dans la table qui est déja créée (CREATE table) sous sql? Merci d'avance www.commentcamarche.net/forum/affich-1361790-sql-creation-du-champ-dans-la-table
Sql champ nullbonjour comment tester si un champ est null expl : select * from table where (champ2 non null); merci www.commentcamarche.net/forum/affich-273286-sql-champ-null
SQL - Création de tableLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE... www.commentcamarche.net/contents/sql/sqlcreate.php3