[php & mysql] Veel data snel verwerken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hay Tweakers,

Ik heb een scriptje die checkt of een persoon een gebruikersnaam als subdomein gebruikt. Zo ja, dan wordt hij doorgestuurt naar het profiel van de persoon met die gebruikersnaam. Echter, er zijn nogal veel gebruikersnamen die allemaal als subdomein gezet moeten worden in de array. Nou wil ik even weten, of dit scriptje niet wat sneller kan:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php 
$query = "SELECT gebruikersnaam,id FROM members";  
$result = mysql_db_query($dbname, $query);  
if($result){  
   while($r = mysql_fetch_array($result)){ 
      $data_gebruikersnaam  = stripslashes($r["gebruikersnaam"]); 
      $data_gebruikersnaam = strtolower($data_gebruikersnaam); 
      $data_id  = $r["id"];     
      $subdomein["$data_gebruikersnaam"] = "http://www.mijnsite.nl/showuser.php?id=$data_id"; 
      $host = " ".getenv("HTTP_HOST");    
      foreach($subdomein as $sub => $locatie) { 
         if(strpos($host,"$sub.mijnsite.nl")>0 && $sub!="www"){ 
            header("Location: $locatie");  
         } 
      } 
   } 
} 
?> 


Ik heb nu 150 gebruikers in de database, die dus allemaal gescanned moeten worden, en het verschil mét of zonder dit scriptje is al duidelijk merkbaar :-)

P.S.
Happy Koninginnedag! :*)

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Waarom zou je eerst alle gebruikersnamen uit de db gaan trekken ?
als $sub gelijk is aan de gebruikersnaam kan je toch een
PHP:
1
2
3
4
5
6
7
8
$query = "select id from members where gebruikersnaam = '$gebruikersnaam'";
$result = ....;
$NumRows = mysql_num_rows($result);
if ($NumRows == 1){
....
}else {
.....
}

doen:?

[ Voor 8% gewijzigd door TheRookie op 30-04-2003 21:49 ]