Adaugare in tabel si afisare date cu virgula intre ele

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje:500

Adaugare in tabel si afisare date cu virgula intre ele

salut, am rezolvat. uite asa:

Cod: Selectaţi tot

$ip = $_SERVER["REMOTE_ADDR"]; 
$nume = $_SESSION['utilizator'];
date_default_timezone_set('Europe/Bucharest');
$data = time();
$data_expir = $data-10;
if(!mysql_num_rows(mysql_query("SELECT * FROM user_temp WHERE nume = '$nume'"))) // verifica ip in bd
{
if(isset($_SESSION['utilizator']))
{
// adauga in bd
    $adaugare_i = mysql_query("INSERT INTO user_temp (ip, nume, data) VALUES ('$ip', '$nume', '$data')");
    if (!$adaugare_i) 
    {
        die('Eroare: ' . mysql_error()); 
    }
}
}
else {
// actualizeaza in bd
    $adaugare = mysql_query("UPDATE user_temp SET ip='$ip', data='$data', nume='$nume' WHERE nume='$nume'");
    if (!$adaugare) 
    {
        die('Eroare: ' . mysql_error()); 
    }
    $sql = mysql_query("DELETE FROM user_temp WHERE data<$data_expir");
    if (!$adaugare) 
    {
        die('Eroare: ' . mysql_error()); 
    }
}
ce ziceti? este bine gandit?

Are o mica problema, codul de sus merge asa cum am vrut si da exact rezultatele dorite, dar este o mica problema. de exemplu imi da rezultatele asa:

Cod: Selectaţi tot

anonim, admin, alexandra,
si eu vreau ca ultimul sa nu mai aibe virgula ci sa apara asa:
anonim, admin, alexandra
nu stiu cum se face. asta mi-o trebuie la codul de mai sus la cel de care am zis ca am rezolvat. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

lookme Mesaje:15

Cod: Selectaţi tot

$query = "SELECT * FROM tabel";
        $i =1; 
        $result = mysql_query($query) OR die (mysql_error());
        while($row = mysql_fetch_array($result))
        { extract( $row );
        if($i%2!=0) {


        echo "".$nume.","; 
            }
            else
            {
        echo "".$nume."";
        }
        $i++;
        } 
modifical datele de la SELECT * si va merge cum doresti tu :P

trif Mesaje:500
salut, am modificat SELECT-ul dar nu imi merge ci imi da rezultatul acesta:
anonim, alexandra admin, ===> cand sunt 3 pers
alexandra, admin ===> cand sunt 2 pers
admin, ===> cand este o pers.

Am reusit. uite asa:
la codul pe care l-ai facut u am mai facut modificari pentru ca nu mergea in toate cazurile.
am adaugat:

Cod: Selectaţi tot

 $randuri=mysql_num_rows($result);
numarand toate randurile si le-am scos
si apoi le-am impartit la $randuri cum se vede mai jos

Cod: Selectaţi tot

if($i%$randuri!=0)
faza este ca trebuia in functie de randuri sa iti dea rest 0 nu impartit la 2. multumesc pentru raspuns. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

lookme Mesaje:15
incearca cu

Cod: Selectaţi tot

str_replace() 

MarPlo Mesaje:4343
Salut, se poate in felul urmator; in While() se retin datele intr-un Array, apoi se aplica mplode() ca sa le returneze intr-un sir, separate cu ce vrei (cu virgula).

Cod: Selectaţi tot

$query = "SELECT * FROM tabel";
$ar_nume = array(); 
$result = mysql_query($query) OR die (mysql_error());
while($row = mysql_fetch_array($result)) {
  $ar_nume[] = $row['nume'];
}
echo implode(',', $ar_nume); 

Subiecte similare