2011-09-15 1 views
0

// Tout d'abord j'assignant une variable $ (emailzipmatch de $) pour interroger une table de base de données appelée (repzipcodes) et l'avoir tirer et affichage 1 à 3 enregistrements sur la base correspondant à un le code postal du client (RepZipCode = $ CustomerZipMatch) avec 1 à 3 autres personnes (GROUPE pAR REPID HAVING COUNT (1) < = 3") qui veulent que l'information du client de ce code postal particulier.Changement de nom et insertion Tableau des résultats dans un autre tableau

// cODE ci-dessous fonctionne

$emailzipmatch = mysql_query("SELECT * FROM repzipcodes WHERE RepZipCode = $CustomerZipMatch GROUP BY RepId HAVING COUNT(1) <= 3") or die(mysql_error()); 

$recipients = array(); 
while($row = mysql_fetch_array($emailzipmatch)) 
{ 
$recipients[] = $row['RepEmail']; 

echo "Agent's Email Address: "; 

echo 'font color="#FF7600"',$row['RepEmail'], '/font'; 

echo '<br />'; 

echo "Rep's ID: "; 
echo '<br />'; 
echo 'font color="#FF7600"',$row['RepId'], '/font'; 
echo '<br />'; 
echo 'hr align="left" width="50%" size="2" /'; 
} 

// MON PROBLÈME DESSOUS

// Pour l'étape suivante du processus ci-dessus, je prendrais $ row [ « RepEmail »] et $ row [ « REPID »] qui peut avoir 1 à 3 résultats et affecter les 1 à 3 résultats une nouvelle variable $ afin qu'il puisse être inséré dans une autre table db donc je peux suivre les résultats de la requête ($ emailzipmatch =) à partir du haut de la page: .. à savoir

<New Variable> <Listed from above> 
$SentRepId 0 = RepId (results from above echo area) 
$SentRepId 1 = RepId (results from above echo area) 
$SentRepId 2 = RepId (results from above echo area) 

// Ci-dessous je voudrais insérer les résultats ci-dessus dans une nouvelle base de données

$?Variable??? = mysql_query("INSERT INTO sentemail 
(SentRepId0, SentRepId1, SentRepId2,SentDateTime 
) VALUES (
'$_SESSION[RepId]', // ????? 
'$_SESSION[RepId]', // ????? 
'$_SESSION[RepId]', // ????? 
NOW() 
)") or die(mysql_error()); 

// Merci d'avance pour toute aide que vous pouvez me donner. S'il vous plaît répondre toute question si mon codage ou la demande est pas claire ou si j'ai été confus en raison de mon manque d'expérience avec PHP et MySQL.

Répondre

0

Je pense que je sais ce que vous allez pour ici. Je l'ai fait quelque chose de semblable avant où je devais tenir un dossier pour un moment, alors j'ai donné chaque résultat de recherche un identifiant sur la production et les a placés dans des rangées séparées d'une table avec un horodatage afin qu'il puisse être nettoyé plus tard ou si vous souhaitez effectuer une recherche par heure (mysql a aussi son horodatage, mais c'est une autre chose à regarder si vous ne l'avez pas déjà fait)

Donc, pour créer une 'table de journalisation', vous pourriez vouloir concevoir quelque chose qui fonctionne comme suit:

<?php 

$search_id = md5(uniqid()).rand(100,999); //// MAKE AN ID FOR THE SEARCH; 
$timestamp = time(); // IN CASE YOU WANT TO CLEAN UP AT A LATER DATE, MUST BE AN INTEGER IN MYSQL (so you can use a less than $timestamp in the delete query) 

$emailzipmatch = mysql_query("SELECT * FROM repzipcodes WHERE RepZipCode = $CustomerZipMatch GROUP BY RepId HAVING COUNT(1) <= 3") or die(mysql_error()); // if you are just wanting to limit the results look at LIMIT in a mysql tutorial somewhere. 

$recipients = array(); 
while($row = mysql_fetch_array($emailzipmatch)) 
{ 
//// THE REST OF YOUR CODE HERE (and at the end of the while loop insert in to a table, in your case 'sentemail') 

mysql_query("INSERT INTO sentemail (search_id, rep_email, rep_id, zip_code, timestamp) VALUES ('$search_id', '{$row['RepEmail']}', '{$row['RepId']}', $CustomerZipMatch, $timestamp);") or die(mysql_error()); // or what ever details you are after 
} 

?> 

Cela devrait vous fournir une table de référence que vous pouvez rechercher selon différents critères. Pas la façon la plus parfaite de le faire, mais il fera le travail.

Espoir qui vous donne une perspective différente sur elle :)

En ce qui concerne « en raison de mon manque d'expérience avec PHP »: Comme vous développez vos compétences, et vous, je suis sûr, prendre un certain temps regarder Object Oriented PHP dans le futur. Pour plus de choses lourdes ou compliquées, il peut être utile de savoir. Je vous le dis maintenant parce que j'aurais aimé que quelqu'un me le dise plus tôt.

Bonne chance.

+0

Merci à votre solution je change mon processus. Je suis juste en utilisant votre « INSERT » une partie de la solution et il est la création d'un enregistrement différent pour chaque résultat, donc je vais le rendre facile sur moi-même et de prendre la ($ SentRepId0 = REPID $ SentRepId1 = REPID, etc.) pour créer seulement 1 enregistrement et juste le faire créer un enregistrement séparé pour 1 à 3 résultats. Je suis juste suivi quel Rep obtient "x" quantité de résultats. Alors, MERCI BEAUCOUP POUR LA SOLUTION !!!! – Wiley

+0

Pas de soucis :) Bonne chance avec tout ça. –

0

Tant que vous avez accès à l'utilisateur, vous pouvez le faire:

$?Variable??? = mysql_query("INSERT INTO db1.sentemail (SentRepId0, SentRepId1,SentRepId2,SentDateTime) VALUES (
'$_SESSION[RepId]', // ????? 
'$_SESSION[RepId]', // ????? 
'$_SESSION[RepId]', NOW())") or die(mysql_error()); 
Questions connexes