Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : obtimiser la base (le champ ID) [ Archives / Bases de données ] (slyderkiller)

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é 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...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.