begin process at 2012 02 15 18:49:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

obtimiser la base (le champ ID)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

obtimiser la base (le champ ID)

samedi 1 octobre 2005 à 01:08:51 | obtimiser la base (le champ ID)

slyderkiller



slt a tt
je voudrais avoir la solution pour obtimiser mon champ id de ma table images voir photo jointe

voila donc comment je peux faire si je ve remplacer mon champ "id" par
1.2.3.4.5 a la place de 13 10 8 11 12 sachant que je ne suis pas sencé connaitre
se qu'il y a dans le champ id .

je pense que ca devrais donné un truc du genre


<?php
//on compte le nombres d'entrées du champs ID
$sql = "SELECT COUNT(*) AS id FROM images";
$nombre_id = @mysql_query($sql,$dbconnect);
$limit = ($nombre_id-1);

//on met a jour le champs id
for ($inc_id = 1; $inc_id <= $nombre_id; $inc_id++)
{
$dbecriture = "UPDATE images SET id='$inc_id' WHERE  id='???'  LIMIT 0, $limit";
}
mysql_close();
?>

probleme de cette requette c'est qu'elle oblige un WHERE mais comme je l'ai dis je ne pe pas le savoir
donc si vous avez une idée merci

samedi 1 octobre 2005 à 08:16:32 | Re : obtimiser la base (le champ ID)

coockiesch

Salut!
Je pense que je ferais ca autrement:
Tu récupère tous les id ( classés par ordre croissant ) et tu fais une boucle commencant par 1 et allant jusqu'au nombre d'enregistrement:

$result = mysql_query( "SELECT id FROM images ORDER BY id ASC" ) or die('MySQL Error');

// nombre d'images
$nb_rows = mysql_num_rows( $result );
// premier enregistrement
$row = mysql_fetch_row( $result );

for( $i = 1; $i <= $nb_rows; $i++ )
{
  // si l'id de l'enregistrement n'est pas ce qu'il devrait être
  if( $row[0] != $i )
  {
    // il faut remplacer par $i lid de l'enregistrement qui a l'id $row[0]
  }

  // prochain enregistrement
  $row = mysql_fetch_row( $result );
}

Ca doit marcher. Mais, c'est très lourd, ca peut exploser le timeout et c'est pas beau, ^^
Le mieux c'est de modifier ca chaque fois que supprime un enregistrement:
- tu récupère l'id de l'enregistrement que tu vas supprimer
- tu le supprimes
- tu prends l'id du dernier enregistrement de la table ( ORDER BY id DESC LIMIT 0, 1 )
- tu remplace l'id du dernier enregistrement par celui qui a été supprimé

@++

R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"


Cette discussion est classée dans : images, champ, id, limit, obtimiser


Répondre à ce message

Sujets en rapport avec ce message

CREATE TABLE images ????? [ par spike911 ] Je c'est ce surment un question newbie mais c'est pas grave je me lancer P"S je ne connais pas tres bien le PHPQuoi sa veu dire sa:CREATE TABLE images Gestion de gallerie [ par bricethenetman ] Slut à tous j'ai besoin d'un script de gestion de gallerie ou au moins une portion de code pour  afficher toutes les images se trouvant dans un répert Php - MySql + Images [ par 68_abis ] Bonjour à tous,Peut-être cette question à e-t-elle été déjà posée, mais je n'en ai pas trouvée de traces, et les nombreux codes sources que j'ai vu ne Relation et Foreign Key [ par ripoux ] Bonjour,J'ai une petite question au niveau des relations avec MySQL.Je n'ai pas bien compris le concept, car je travail malheuresuement en général ave repercution de l'id dans la barre d'adresse vers champ de formulaire pour integration dans une base mysql [ par Alpha911 ] Bonjour, voila j'ai fait un lien page1.php qui dirige vers formulaire.php et qui ajoute un id tel que formulaire.php?id=215 et je voudrais que l'id (l Faire appel à un champ Mysql "auto_increment" [ par levieuxjah ] Bonjour à tous, J'aimerais savoir comment faire appel au champ "id_user" : Champ  Type Attributs Null Défaut Extra Probleme tout simple avec le champ ID... [ par Rimb0 ] Bonjour à tous, j'ai un probleme tout simple avec le champ ID. Lorsque j'ajoute un new, ID se fait automatiquement. (ex : 1 2 3 4 5 6) J'en ai effacé my sql select [ par kingsaiz ] Bon je sais je suis null en phpvoila j'ai creer ma base avec deux tablescategorie et image, avec une id commune à chacune des tablesil y a plusieurs i LIMIT dans une procédure stockée [ par Ziman ] Bonjour,j'ai un soucis étrange. Voici ma procédure stockée :DROP PROCEDURE IF EXISTS `poulgarou`.`dropObject` $$CREATE PROCEDURE `poulgarou`.`dropObje Récupérer le champ "ID" d'une table en sélectionnant un autre champ de cette même table. [ par stark_2097 ] Bonjour à tous.Je suis un amateur de très très bas niveau en PHP et j'ai pas mal de questions pour finaliser mon projet... merci d'être compréhensif e


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,104 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales