Jump to content
php.lv forumi

Vairāki saņēmēji


ok1

Recommended Posts

Biju nolēmis vēstuļu sistēmā ieviest iespēju sūtīt vienu vēstuli uzreiz vairākiem lietotājiem. Lietotājs ievada vairākus lietotājus atdalot tos ar komantu (,). To visu mēs varētu atšifrēt ar explode(',',$kam), bet pēc tam sākas melnais darbs ar sūtīšanu. Būtu labi, ja to varētu panākt ar while . Piemēram:

<?php
while($kam = explode(",", $kam)){
mysql_query("INSERT INTO messages ...");
}

Bet šādi negrib strādāt. Kā vēl/līdzīgi varētu (lai strādātu)?

Edited by ok1
Link to comment
Share on other sites

$exp = explode(',', $kam);

$count = count($exp);

 

for($i = 0; $i < $count; $i++)

{

mysql_query("INSERT INTO tabula WHERE kam = '".$exp[$i]."'");

 

}

 

Liels paldies :)

Link to comment
Share on other sites

<?php
while($kam = explode(",", $kam)){
mysql_query("INSERT INTO messages ...");
}?>

 

Šis nestrādā, jo $kam pointeris visu laiku tiks atstatīt uz sākumu (pareizāk sakot - katru reizi tu $kam masīvu izveido pa jaunam, un jaunam masīvam pointeris vienmēr ir uz pirmo elementu). UPD. Nē, tomēr vaina ir tur, ka otrajā aplī $kam vairs nav masīvs bet tikai strings.

 

Vari darīt šadi:

<?php
$kam = explode(",", $kam);
foreach($kam as $v){
mysql_query("INSERT INTO messages ...");
}?>

 

Tikai neaizmirsti pirms tam arī notrimot (trim) katru stringu, jo daudzu lietotāji aiz komata liek atstarpi (kā tas normāli ir arī jādara).

Edited by andrisp
Link to comment
Share on other sites

×
×
  • Create New...