Gå til innhold

Hente ut data fra mySQL til array?


Anbefalte innlegg

Her er ett lite kodeutsnitt

include("side/db.php");

$link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("Kunne ikke koble til databasen.");
if (mysql_select_db ($mysql_db)) {

$row = mysql_fetch_array(mysql_query("select * from cs_admins"));
$admins1 = $row[admins];

$admins = array("navn1", "navn2", "navn3");

$adminmsg = "Alt er OK";

for($i=0;$i<count($admins);$i++) {
  if($brukernavn == $admins[$i]) {
     echo $adminmsg;
  };
};
}
?>

 

Vist jeg bytter ut "navn1", "navn2", "navn3" med $admins1 funker det ikke..

I tabellen cs_admins har jeg raden admins som igjen har teksten "navn1", "navn2", "navn3"

 

Noen som vet hva som er galt?

Lenke til kommentar
Videoannonse
Annonse

litt problem med å forstå hva som skal skje her..

 

skal du finne et bruker navn i en tabel ?

 

$link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("Kunne ikke koble til databasen.");
if (mysql_select_db ($mysql_db)) {
$row = mysql_fetch_array(mysql_query("select * from cs_admins WHERE admins = '$brukernavn'"));
$admins = $row[admins];

if($admins['admin'] != "")
 print "Du er en ekte admin";
}

 

ellers må du forklare deg bedre :)

Lenke til kommentar

ehh... hva er det egentlig du prøver å oppnå med denne koden? Du bruker aldri $row variabelen som inneholder resultatsettet med verdiene, også lager du en ny array som ikke inneholder noe.

 

Kanskje du heller vil ha noe mer sånn som det her:

 

$i=0;

while($row = mysql_fetch_array(mysql_query("select * from cs_admins"))

{

$admins = Array();

$admins[$i] = $row["username"];

$i++;

}

 

nå trenger du heller ikke kjøre count() på antall.

Merk at det er verdien på tabellkolonnen du setter $admins[$i] til.

Lenke til kommentar

Siden jeg ikke har kodet

$admins = array("navn1", "navn2", "navn3");

$adminmsg = "Alt er OK";

for($i=0;$i<count($admins);$i++) {
 if($brukernavn == $admins[$i]) {
    echo $adminmsg;

er det veldig vanskelig å forstå hva du mener..

 

Koden skal gjøre det at spesifiserte brukernavn i ett brukersystem kan se koden som er puttet inn i "Alt er OK"..

Lenke til kommentar

Kanskje en ide å kode selv da. Koden du viste ovenfor gjør ingen verdens ting annet enn å fylle en array å skrive ut de verdiene.

 

Men det du ønsker er å sjekke på om den finner en angitt bruker ($brukernavn)?

 

Kakestykke:

 

Koble til databasen

$query = "SELECT username FROM cs_admins WHERE username = '$brukernavn';";
$RS = mysql_query($query);
if(mysql_num_rows($RS) > 0)
{
 $adminMsg = "Alt er OK";
}

Endret av Vial
Lenke til kommentar
Siden jeg ikke har kodet
$admins = array("navn1", "navn2", "navn3");

$adminmsg = "Alt er OK";

for($i=0;$i<count($admins);$i++) {
 if($brukernavn == $admins[$i]) {
    echo $adminmsg;

er det veldig vanskelig å forstå hva du mener..

 

Koden skal gjøre det at spesifiserte brukernavn i ett brukersystem kan se koden som er puttet inn i "Alt er OK"..

5771779[/snapback]

 

Når du kjører denne queryen:

$resultat = mysql_query( "select * from cs_admins");

 

Så vil du få alle brukeren som er lagret i databasen.

Men du vil bare få ut en pr. spørring med feks. mysql_fetch_assoc( $resultat );

 

så da må du lage en loop, denne pleier jeg å bruke:

 

if($resultat){ // først sjekker vi om spørringen ble godtatt
while( $data = mysql_fetch_assoc($resultat)){ // hvis noe blir satt til $data kjører vi en gang til 
 // her gjør vi noe med resultat.. feks
 print $data['brukernavn']."<br>";
 }
 }	

 

MEn hvis du vare skal se etter ett bruker navn er dette litt bortkastet vi forandrer litt.

 

// her går vi utifra du i tabelen har et felt som heter "brukernavn"
$query = "select * from cs_admins WHERE brukernavn = '$brukernavn'";
$resultat = mysql_query( $query);
$data = mysql_fetch_assoc($resultat);
if($data['brukernavn']){ // så sjekker vi om resultatet inne holder noe, hvis det gjør det så er han admins eller.no
print "Du er en gud!!";
}

 

Håper dette ble litt mer forstårlig :)

Endret av trondes
Lenke til kommentar

Hmm, nei.. :p

Jeg har en database som har tabellen cs_admins der har jeg en rad som heter admins inni denne ligger det "navn1", "navn2", "navn3" osv..

Jeg vil at de brukernavnene som ligger inni der skal kunne se noe og de andre brukerene skal ikke kunne se det!

$brukernavn variablen er den samme som brukernavnet når man er logget inn.

Lenke til kommentar
Hmm, nei.. :p

Jeg har en database som har tabellen cs_admins der har jeg en rad som heter admins inni denne ligger det "navn1", "navn2", "navn3" osv..

Jeg vil at de brukernavnene som ligger inni der skal kunne se noe og de andre brukerene skal ikke kunne se det!

$brukernavn variablen er den samme som brukernavnet når man er logget inn.

5771922[/snapback]

 

 

ok.. ikke mye erfaring med mysql ?

 

La oss tenke oss nå du etter vært for 100 admin... hvordan skal du løse dette ?

 

HAr du en tabel for de vanlige brukere også ?

 

i tabellen oppretter du et felt i den tabelen.. feks "nivaa"... der kan du skrive admin, coadmin eller noe annet..

 

jeg går ifra at når en bruker logger seg på så henter du ut data om han fra tabelen ?

 

Hvis ja så tenger du bare å plassere den i en variabel når du henter den ned. feks $brukerdata, $innlogget osv..

når du sjekker om en person er "admin" eller noe ser du bare om det feltet er satt i brukerdatan.

 

feks: $brukerdata['nivaa'] == "admin"

 

Dette var den enkle løsningen, sikkert ikke så godt forklart :)

Lenke til kommentar

Jeg forstår hva du mener..

Jeg har tenkt å lage brukernivåer inn i tabellen der hvor brukernavn og passord ligger..

Er ikke sikker på om jeg gidder det :p

Har ikke så veldig mye erfaring med mySQL nei, lærer stadig nye ting.. ;)

Takk for alt hjelp vertfall :)

Lenke til kommentar
Jeg forstår hva du mener..

Jeg har tenkt å lage brukernivåer inn i tabellen der hvor brukernavn og passord ligger..

Er ikke sikker på om jeg gidder det :p

Har ikke så veldig mye erfaring med mySQL nei, lærer stadig nye ting.. ;)

Takk for alt hjelp vertfall :)

5772076[/snapback]

 

:) fint å lære seg nye ting. Men hvis du sier at du ikke orker det, så må jeg nok peke ut at dette er det enkleste :)

Og selv tror jeg å plassere slikt i brukertabelen ville vært det smarteste.

 

ha en fin dag

Lenke til kommentar

en litt smart tabellstruktur kan spare deg for mye hodebry. tabeller kan jo faktisk jobbe sammen....

 

om du har en brukertabell er det ikke være enn å definere i en egentabell hvem av disse som er admin...

 

 

aid | medlems_id

 

der id er en selvgenerert id, og medlems_id id'en fra medlemstabellen.

 

om du vil finne admins kan du kjøre en slik spørring:

 

om du har brukerens id fra innloggingen er det jo bare å sjekke den opp imot admin tabellen. krevver jo ikke noen joining av tabeller engang

Lenke til kommentar
en litt smart tabellstruktur kan spare deg for mye hodebry. tabeller kan jo faktisk jobbe sammen....

5785518[/snapback]

 

Enig der, en bra spørring kan erstate 2-3 "vanlige" spørringer. Er ikke så dumt å invistere litt tid i å lære seg sql spørringer :)

Endret av trondes
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...