Pereiti prie turinio

[PHP] Kaip sudaryti masyvą paėmus duomenis iš mysql ?


Rekomenduojami pranešimai

mysql_query("SELECT * FROM testas WHERE kazkas='kazkas'");

Daug eilučių randa ir man reikia jas visas sudėti į vieną masyvą. Kaip tai padaryti ?

P.S. Iškyla daug klausimų, nes niekad su masyvais nedirbęs :)

EDIT :

Radau :) mysql_fetch_row

Redagavo DeSigneR
Nuoroda į pranešimą
Dalintis kituose puslapiuose

$duom = mysql_query("SELECT * FROM testas WHERE kazkas='kazkas'");

$n = 0;
while ($duom = mysql_fetch_array($duom))
{
  $n++;
  $masyvas[n] = $q['name'];
// o jai daugiau surasinėsi duomenų tai daryk dvimatį masyvą
//$masyvas[n]['vardas'] = $q['name'];
//$masyvas[n]['pavarde'] = $q['surname'];
//. . . . .
}

 

O poto panaudoti:

 

echo "Pirmo darbuotojo vardas: ".$masyvas[1]['vardas'];
echo "Pirmo darbuotojo pavarde: ".$masyvas[1]['pavarde'];

echo "Antro darbuotojo vardas: ".$masyvas[2]['vardas'];
// .. . . . ..  ir taip toliau

 

Tikiuosi klaidos kokios neįvėliau, ką tik atsibudau. ^_^

Redagavo gidasss2
Nuoroda į pranešimą
Dalintis kituose puslapiuose

mysql_fetch_assoc() , mysql_fetch_row() , mysql_fetch_array() - yra labai panasios funkcijos, bet turi siokiu tokiu skirtumu.

 

Pvz:. jei selectini vardas, pavarde is DB lenteles. ir fetchini i masyva data

 

Naudojant mysql_fetch_row() - varda ir pavarde isgausi tik per skaitine reiksme: data[0], data[1]

 

Naudojant mysql_fetch_assoc() - varda ir pavarde isgausi tik per lenteles lauko reiksmes: data['vardas'], data['pavarde']

 

Naudojant mysql_fetch_array() - varda ir pavarde isgausi per lenteles lauko reiksmes ir/arba skaitines reiksmes priklauso koki papildoma parametra nurodysi sioje funkcijoje (MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH)

 

 

o siaip kuria is ju naudosi, cia jau kaip tau patogiau bus :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Greitai parašiau atsidaręs Notepad ir netestavau, tai gali būti kokių smulkių klaidelių - jei taip, jas nesunkiai pats sutvarkysi.

 

Maždaug tokiu būdu aš dirbdavau su PHP SQL užklausomis:

 

 

<?php

// Užklausą geriausia turėti kaip kintamąjį, nes bus atvejų, kai programos eigoje užklausą norėsi papildyti (pvz., pridėti "ORDER BY ...")
$sql = "SELECT ...";
// Kodą, kuris su užklausa kreipiasi į duomenų bazę, geriausia turėti kaip funkciją, nes jį naudosi daug kartų, - kad kas kart nerašyti tų pačių eilučių
$list = get_list($sql);
// Visada verta pažiūrėti, ką gavai iš duomenų bazės (išspausdinti visą masyvo turinį į ekraną)
print_list($list);

// Jei nori pasinaudoti gautu masyvu, geriausia naudoti foreach ciklą
foreach ($list as $row) {
// Sakykime, duombazės lentelė turi laukelį "name"
echo $row['name'] . '<br>';
}

function get_list($sql) {
$rows = array();
// Bet kur, kur naudoji mysql_query() funkciją, pridėk " OR exit(mysql_error())" - tuomet, jei tavo užklausa bloga, tau išmes klaidą - priešingu atveju ilgai užtruks, kol suprasi, kas neveikia
$result = mysql_query($sql) OR exit(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
	// Ši eilutė prie masyvo automatiškai prideda dar vieną įrašą
	$rows[] = $row;
}
return $rows;
}

function print_list($list) {
echo '<pre>';
print_r($list);
echo '</pre>';
}

?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nors jo, gali ir su mysql_fetch_row daryti jai veikia. Aš savo metodą naudodavau, net nežinau kuris geriau, bet tikriausiai mysql_fetch_row :lol:

 

kiek esu susidures, mysql_fetch_row dirba leciau uz mysql_fetch_array, nes kazka esu pats susidures, kad su mysql_fetch_row dirbo letai, tai pakeitus i mysql_fetch_array, pasijuto skirtumas zymiai

Nuoroda į pranešimą
Dalintis kituose puslapiuose

kiek esu susidures, mysql_fetch_row dirba leciau uz mysql_fetch_array, nes kazka esu pats susidures, kad su mysql_fetch_row dirbo letai, tai pakeitus i mysql_fetch_array, pasijuto skirtumas zymiai

 

Nemanau kad gali būti didžiulis skirtumas, nebent duomenų kiekiai yra milžiniški. Paprasčiausiai procesai gal vienas greitesnis o kitas lėtesnis bet vistiek jie labai greiti. Mano nuomonė, nesidomėjau ir nebandžiau.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...