code PHP ouverte, sélectionner, mettre à jour, sauvegarder des enregistrements MySql

  • Mark709
  • Novice
  • Novice
  • No Avatar
  • Inscription: Sep 30, 2010
  • Messages: 22
  • Status: Offline

Message Septembre 30th, 2010, 1:58 pm

Quelqu'un peut-il m'aider s'il vous plaît - je crois que je sais comment installer mais pas le code
afin que je puisse être décrit comme un débutant.

J'ai une base de données MySql, avec environ 100.000 enregistrements
Nécessité d'avoir de code PHP qui va ouvrir la base
et passer par chaque enregistrement ID (PRIMAIRE INDEX) afin de EOF (fin de fichier).

Comme record CHAQUE est TROUVÉS
CREATE / générer un nombre aléatoire (entre 1 et 200 000) (n'a pas à être un numéro unique)
et d'écrire que de nombres aléatoires dans un nom de domaine RANDORDER
puis d'enregistrer ce disque
puis INCREMENT pour trouver l'enregistrement suivant ou fin de fichier
FERMER FICHIER et de sortie

Idéalement, un message pour informer l'utilisateur de
SELECT TABLE.FILE
START ou Quitter
TRAVAIL
Tâche achevée serait un «nice to have".

version de PHP est de 5,0
version de MySQL est 5. 0

Merci beaucoup de votre temps et votre expertise
peut choses merveilleuses se produisent à vous pour votre gentillesse.
Mark (Australie en ce moment à Hong Kong)
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Septembre 30th, 2010, 1:58 pm

  • righteous_trespasser
  • Scuffle
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Mar 12, 2007
  • Messages: 6228
  • Loc: South-Africa
  • Status: Offline

Message Octobre 1st, 2010, 12:11 am

Connexion à la base de données:
PHP Code: [ Select ]
<?php
  $host = 'localhost';
  $username = 'username';
  $password = 'password';
  $database = 'database';
  $connection = mysql_connect($host,$username,$password) or die('Could not connect to the database' . mysql_error());
  mysql_select_db($database,$connection);
?>
  1. <?php
  2.   $host = 'localhost';
  3.   $username = 'username';
  4.   $password = 'password';
  5.   $database = 'database';
  6.   $connection = mysql_connect($host,$username,$password) or die('Could not connect to the database' . mysql_error());
  7.   mysql_select_db($database,$connection);
  8. ?>


en passant par toutes les lignes:
PHP Code: [ Select ]
<?php
  $sql_select = 'SELECT * FROM `table_name`';
  $sql_query = mysql_query($sql_select);
  if(!$sql_query){
    echo 'There was an error while performing the search';
  }
  else{
    if(mysql_num_rows($sql_query) > 0){
      while($row = mysql_fetch_assoc($sql_query)){
        $sql_update = "UPDATE `table_name` SET
                      `randorder`='" . rand(1,200000) . "'
                      WHERE `id`={$row['id']}";
        $sql_query2 = mysql_query($sql_update);
        echo (!$sql_query2) ? "There was an error while updating row {$row['id']}<br />" : "Row {$row['id']} has been updated.";
      }
    }
    else{
      echo 'There are no rows in the database';
    }
  }
?>
  1. <?php
  2.   $sql_select = 'SELECT * FROM `table_name`';
  3.   $sql_query = mysql_query($sql_select);
  4.   if(!$sql_query){
  5.     echo 'There was an error while performing the search';
  6.   }
  7.   else{
  8.     if(mysql_num_rows($sql_query) > 0){
  9.       while($row = mysql_fetch_assoc($sql_query)){
  10.         $sql_update = "UPDATE `table_name` SET
  11.                       `randorder`='" . rand(1,200000) . "'
  12.                       WHERE `id`={$row['id']}";
  13.         $sql_query2 = mysql_query($sql_update);
  14.         echo (!$sql_query2) ? "There was an error while updating row {$row['id']}<br />" : "Row {$row['id']} has been updated.";
  15.       }
  16.     }
  17.     else{
  18.       echo 'There are no rows in the database';
  19.     }
  20.   }
  21. ?>


Hope that helps...
Let's leave all our *plum* where it is and go live in the jungle ...
  • Mark709
  • Novice
  • Novice
  • No Avatar
  • Inscription: Sep 30, 2010
  • Messages: 22
  • Status: Offline

Message Octobre 3rd, 2010, 11:14 am

Chers Scuffle
.
Merci, merci beaucoup pour votre code execellent et clair.
J'ai pu le suivre - mais jamais dans une crise de pouvoir l'écrire.
Je n'ai pas eu à le faire fonctionner les 2 premières manches, puis il fonctionne comme un charme.
Je suis très reconnaissant pour votre aide.
Maintenant, si je puis m'exprimer ainsi ==================================
.
Souhaitez-vous être en mesure de m'aider encore ============
avec un autre ensemble de code et de répondre à une question importante
.
J'ai juste besoin de corriger le problème décrit ci-dessous ===============
si vous êtes capable, je vous remercie de votre entrée comme je le fais comme ton
style de programmation, car il est extrêmement logique à suivre.
.
Donc si vous avez le temps, je vous remercie de votre aide CODAGE nouveau.
. ================ ================================================
.
Il existe 3 tables MySql qui ne correspondent pas à l'intérieur de la Base de données - GARAGE
Noms de table - pommes et des bananes (non lié) et le cerisier (sans rapport)
.
Tableau APPLE a 4 champs -
(Données se poursuit au cours du mois de fichier à un mois, sauf décision contraire au moyen du tableau BANANE)
ID (INT, 8) (INDEX primaire),
MAKECODE (Var, 8) (index unique) (2 + se demander si les champs sont supprimés)
Date (AAAAMMJJ), (date étant d'entrée originale dans ce tableau)
STYLE (Var, 4)
(Background-Tableau APPLE est mis à jour de temps en temps en utilisant les données du tableau BANANE)
.
Tableau de la banane a 6 champs -
(Les données sont ajoutées au cours du mois - et ajuste les données en APPLE toutes les quelques semaines)
ID (INT, 8) (INDEX primaire),
ORIGINALCODE (Var, 8) (index unique)
REMPLACEMENT (Var, 8) (souvent ce champ est NULL, car aucun remplacement)
Date (AAAAMMJJ), (date étant d'entrée originale dans ce tableau)
STYLE (Var, 4) (valeur est sans importance)
champ plus
puis tiendra date courante du système de la date à laquelle il est utilisé pour mettre à niveau APPLE
(Indice des besoins - pour aider à trouver les enregistrements doivent être mis à jour cette fois à travers
(La valeur peut être NULL - ou peut insérer une fausse date, par exemple 11111111 dire 1111/11/11)
si un index sur le terrain mis à niveau (pas unique - comme de nombreux domaines, avec une valeur NULL)
(Une fois posté ce domaine tiendra la date de l'enregistrement AMÉLIORÉ APPLE)
devrait être un INDEX Mis à jour et d'identité?
(Contexte - Table BANANE est mise à jour de temps à autre au cours du mois
des données telles que ORIGINALCODE, date, le style (toujours fourni)
et parfois avec des détails supplémentaires tels que le remplacement
mais le champ à niveau est toujours laissée vide jusqu'à ce que traitée selon le code PHP nécessaire)
.
Tableau CHERRY a 4 champs -
(Tableau ne détient que les totaux pour chaque tentative de mise à jour chaque fois que se produit)
ID (INT, 8) (INDEX primaire),
Date (AAAAMMJJ) (index unique)
REMPLACE (INT, 8)
NOTFOUNDA (INT, 8)
(Background-Chaque enregistrement est un stand alone dossier et aucun totaux cumulés sont toujours nécessaires.)
.
.
code de programme PHP qui doit être démarré manuellement - (à la fonction ci-dessous)
================================================
1. (À certains moments, par exemple 3 ou 4 semaines - chaque fois traitées manuellement)
nécessaire de mettre à jour le tableau APPLE aide d'un programme PHP
telles que le code fonctionne comme suit-
.
Trouver BANANE. AMÉLIORÉ où la date est NULL ou 11111111 dire 1111/11/11
(En d'autres termes ce record n'a jamais mis à jour le tableau APPLE)
.
si EOF (fin de fichier - rien de plus à être mis à jour) Voir le message
"Tous les dossiers mis à jour
il y avait ___ ____ ___ REMPLACE DELETED et NOTFOUNDA "
Enregistrer ces totaux dans le tableau CHERRY
.
sinon EOF
Si BANANA.REPLACEMENT pas nulle (c'est-a une valeur)
obtenir BANANA.ORIGINALCODE
Trouvez dans le tableau où Apple APPLE EQ BANANA.ORIGINALCODE. MAKECODE
.
si aucun enregistrement trouvé - AUGMENTATION NOTFOUNDA
. trouver le dossier de la prochaine
si l'enregistrement trouvé
déplacer BANANA.REPLACEMENT à APPLE.MAKECODE
déplacer BANANA.DATE à APPLE.DATE
déplacer BANANA.STYLE à APPLE.STYLE
SAVE APPLE
système de mouvement actuel date A BANANA.UPGRADED (AAAAMMJJ)
SAVE BANANE
AUGMENTATION COUNTER_REPLACED
.
Ou bien (si BANANA.REPLACEMENT n'a pas de valeur)
obtenir BANANA.ORIGINALCODE
Trouvez dans APPLE tableau où la banane. ORIGINALCODE EQ APPLE.MAKECODE
Supprimer l'enregistrement dans APPLE - sauvegarder base de données sans que le dossier APPLE.MAKECODE
système de mouvement actuel date A BANANA.UPGRADED (AAAAMMJJ)
SAVE BANANE
AUGMENTATION COUNTER_DELETED
.
.
LOOP pour TROUVER ENREGISTREMENT SUIVANT (chez le bananier. Mis à jour) où la date est NULL
.
.
Question à examiner
Si dans le tableau APPLE - 2 ou plusieurs enregistrements sont supprimés
ce qui se passe à l'index unique
cet indice devrait pas être unique
qui est doit être l'INDEX MAKECODE ET ID
ou si un enregistrement (à l'intérieur d'une série de dossiers) est supprimé - n'est-ce pas monsieur le comte?
Votre avis sur cet aspect ainsi - apprécié.
  • Mark709
  • Novice
  • Novice
  • No Avatar
  • Inscription: Sep 30, 2010
  • Messages: 22
  • Status: Offline

Message Octobre 3rd, 2010, 11:18 am

Salut Scuffle
Dans la réponse que je viens de faire, je vois "l'homme jaune" est apparu et a remplacé la longueur des champs que j'avais inséré.
S'il vous plaît prendre toutes les longueurs de champs de 8 caractères
Merci
Mark

Afficher de l'information

  • Total des messages de ce sujet: 4 messages
  • Utilisateurs parcourant ce forum: this213 et 182 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC