login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Van id naar username

Offline Raze - 10/04/2009 22:00
Avatar van RazePHP beginner Hallo,

in mijn mailsysteem op mijn website verstuur ik mails op id.
ik heb er nu aan toegevoegd dat een mail naar meerdere personen kan gestuurd worden.
Het probleem is nu, dat de id's weergegeven worden ipv de gebruikersnamen.
Ik heb geprobeerd dit op te lossen met de volgende code:
  1. function compare($destination_id) {
  2. $destination_substr = substr($destination_id,0,-1);
  3. $array = explode(";",$destination_substr);
  4. $count = count($array);
  5. $i = 0;
  6. do {
  7. $query_compare = "SELECT username FROM user WHERE userid='".$array[$i]."'";
  8. $query_compare_2 = mysql_query($query_compare) or die (mysql_error());
  9. $rij_query_compare = mysql_fetch_assoc($query_compare_2);
  10. return $rij_query_compare['username']; } while ($i < $count);
  11. }


Het probleem is, dat wanneer er een destination_id is van bv 1;2;3;.. hij enkel de gebruikersnaam laat zien van de eerste in rij, dus in dit geval de gebruikersnaam behorende bij het id 1.

Heeft er iemand een idee?

2 antwoorden

Gesponsorde links
Offline Koen - 10/04/2009 22:20
Avatar van Koen PHP expert Een functie kan geen meerdere keren iets returnen 

Zet alles in een array, en return die uiteindelijk.
Offline Threetimes - 11/04/2009 18:30
Avatar van Threetimes PHP beginner ik zie nergens waar je $i verhoogd, en ik zou hier zowiezo een for-loop gebruiken en het geheel wat netter neerzetten.
Bezuinig niet op spaties/tabs en regeleindes!
Als je het mij vraagt wordt het zoiets:
  1. <?
  2.  
  3. function compare($destination_id)
  4. {
  5. $destination_substr = substr($destination_id,0,-1);
  6. $array = explode(";",$destination_substr);
  7. $count = count($array);
  8.  
  9. for($i=0;$i<=$count)
  10. {
  11. $query_compare = "SELECT username FROM user WHERE userid='".$array[$i]."'";
  12. $query_compare_2 = mysql_query($query_compare) or die (mysql_error()); // ik zou de foutmelding wat netter doen.
  13. $rij_query_compare = mysql_fetch_assoc($query_compare_2);
  14. $result[] = $rij_query_compare['username'];
  15. }
  16. return $result;
  17. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s