PHP / POSTGRES : manipulation de données

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP / POSTGRES : manipulation de données

par Maitrepylos » 07 août 2005, 20:11

attention sur Postgres (je viens d'avoir le problème), si tu as fais des insertions dans le bdd et puis si tu les as effacer, postgres ne recommence pas à 0, à vérifier!

MaitrePylos

par Invité » 05 août 2005, 14:25

J'ai bien pris 1 comme point de départ. Mais la boucle ne fonctionne pas.
J'ai en retour le message d'erreur suivant : "parse error near or at 10"


//maj de la table :
for ($j=1; $j<10; $j++);
pg_exec ($con_db, "INSERT INTO $ma_table[numero] VALUES ($j)");
pg_close...

par NoNos » 05 août 2005, 14:08

Si ta table est vide tu prend comme numero d'index 1 sinon tu cherche le numero du dernier

par odyssee » 05 août 2005, 13:59

Sorry, pour le double envoi.

En fait, il s'agit d'une table ne contenant aucun enregistrement. Je ne peux donc pas récupérer le dernier numéro enregistré.

par Cyrano » 05 août 2005, 13:02

Ok, t'exite pas sur le bouton d'envoi de message, ça répète l'opération pour rien.

Pour ton problème, il s'agit alors de récupérer le dernier numéro enregistré pour ne pas risquer d'enregistrer un doublon, ce qui louperait puisque, si c'est une clé primaire, ton SGBD va te jeter en refusant le doublon.

Une fois que tu as ce numéro, il te suffit de l'incrémenter et d'insérer ta nouvelle ligne.

Où est la difficulté ?

par odyssee » 05 août 2005, 12:54

Rien ne m'empeche d'utiliser l'auto_increment (bien plus simple...). Simplement il s'agit là d'un exercice pour me familiariser avec l'utilisation des boucles pour php/postgres (je suis une novice).

par Cyrano » 05 août 2005, 12:44

Qu'est-ce que t'empèche d'utiliser un champ en auto-increment ?

PHP / POSTGRES : manipulation de données

par odyssee » 05 août 2005, 11:55

Bonjour,

Je cherche à insérer des données dans une table (PostGres) mais en utilisant une boucle via un script php(plutot qu'un auto_increment), pour numéroter les lignes de 1 à n. Mais cela ne marche pas. Quelqu'un pourrait-il m'éclairer ? MERCI

<?php
pg_connect...

//creation table :
pg_exec ($conn_db, CREATE TABLE ma_table
(numero INT,
(titre VARCHAR (20))");

//maj de la table :
for ($j=1; $j<10; $j++);
pg_exec ($con_db, "INSERT INTO $ma_table[numero] VALUES ($j)");
pg_close...

?>