Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Hjemmeside design
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Definere PHP variabel, som indhold fra SQL tabel

Af Giga Supporter cube2 | 26-01-2011 09:03 | 1135 visninger | 19 svar, hop til seneste
Overskriften siger det meste, sagen er at jeg har lidt problemer med at definere en PHP variabel som noget indhold fra en tabel. Det jeg prøver på er at finde det højeste tal i en kolonne og definere variablen som det + 1, bruger: SELECT MAX(kolonnenavn) * FROM tabel og har defineret det $variabel = mysql_query(SELECT MAX(column_name) FROM table_name) + 1; Hvad gør jeg galt?
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#1
nesalc
Bruger Aspirant
26-01-2011 09:06

Rapporter til Admin
Prøv at søge i google på mysql_query Den retunerer et result set. Ud af dette result set kan du hente de rækker og kolonner der retuneres fra din query. /Claus
--
#2
cube2
Giga Supporter
26-01-2011 09:19

Rapporter til Admin
Prøvede denne løsning: $query = mysql_query("SELECT MAX(id) * FROM traade"); $result = mysql_query($query); Men den virkede heller ikke, der var også en løsning hvor at man definerede kolonnen som $result, og så brugte en løkke til at definere hver post i kolonnen som hver sin variabel. Kan bare ikke se hvorfor det er nødvendigt når jeg nu kun har 1 post i variablen $result, nemlig det højeste tal.
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#3
Zimes
HOL Moderator
26-01-2011 09:23

Rapporter til Admin
$variabel = mysql_query("SELECT column FROM table ORDER by column DESC LIMIT 1") +1;
--
This text is in bold
--
Sidst redigeret
#4
cube2
Giga Supporter
26-01-2011 09:31

Rapporter til Admin
Tak for hjælpen, nu defineres variablen da, men den finder den laveste værdi ligegyldig om det er sorteret efter ASC/DESC, og den lægger heller ikke en til som den skal.
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#5
rokujuuyon
Elitebruger
26-01-2011 09:31

Rapporter til Admin
$result = mysql_result(mysql_query(query), 0);
--
#6
cube2
Giga Supporter
26-01-2011 09:40

Rapporter til Admin
#5 kan du forklare lidt, forstår den ikke lige #3 Hvis jeg ikke lægger en til bliver resultatet: Resource id #3
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#7
Zimes
HOL Moderator
26-01-2011 09:43

Rapporter til Admin
#4 Så gør du noget forkert. Det samme med MAX() som også burde virke. Prøv at dele dit kald op i flere led. Altså: $result = mysql_query("SELECT MAX(id) FROM table"); echo $result; echo ""; echo $result +1; Så kan du bedre vurdere om du får det korrekte data hentet ud.
--
This text is in bold
#8
cube2
Giga Supporter
26-01-2011 09:44

Rapporter til Admin
Smider lige op i pastebin så: http://pastebin.com[...]
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#9
Zimes
HOL Moderator
26-01-2011 09:45

Rapporter til Admin
#6 Det lyder som om du prøver at hente fra et array. Må vi se din kode og din tabelopbygning? Bare smid det på pastebin.com Det virker til at du ikke helt har det grundlæggende omkring databasekald på plads.
--
This text is in bold
#10
stallemanden
Mega Nørd
26-01-2011 09:51

Rapporter til Admin
#9 Det må man sige er en underdrivelse :) #8 http://pastebin.com[...]
--
Smerter? : http://paincare.dk[...] Lav din egen hol-setup-liste: http://hamdenkloge.dk[...]
#11
cube2
Giga Supporter
26-01-2011 09:53

Rapporter til Admin
Database struktur http://img148.imageshack.us[...]
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#12
rokujuuyon
Elitebruger
26-01-2011 09:54

Rapporter til Admin
#6, selvom dit resultat kun har et felt, kan du ikke bare bruge outputtet fra mysql_query direkte. Du kan til gengæld bruge mysql_result til at få det ind i en variabel som du vil have. Det du har skrevet tidligere kan bruges hvis du ændrer det til følgende: $query = mysql_query("SELECT MAX(id) * FROM traade"); $result = mysql_result($query, 0) + 1; Nullet i mysql_result her, siger bare til den at den skal returnere det første resultat fra dit query (og der er jo kun et enkelt resultat) Men, hvorfor er det at du egentligt vil have den information - og hvad mere er, hvorfor skal der ligges en til? Hvis det er for at finde det næste ID som du kan bruge til at oprette en tråd er det en meget omsonst metode at bruge til det - meget lettere at sætte en AUTO_INCREMENT på det felt i din database så den selv klarer det.
--
#13
cube2
Giga Supporter
26-01-2011 09:57

Rapporter til Admin
#10 Forstår ikke helt, ideen er at jeg skal definere en variabel som det højeste tal i en kolonne.
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#14
cube2
Giga Supporter
26-01-2011 09:58

Rapporter til Admin
#12, Man kan sige at jeg er noget nær über-newb på dette område, og alt det jeg ved er fra ting jeg har læst på nettet, jeg har langt endnu har jeg fundet ud af.
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#15
stallemanden
Mega Nørd
26-01-2011 10:07

Rapporter til Admin
#14 Så skal du for det første IKKE hive * ud af din tabel. SELECT MAX(FELT_MED_NUMMERET) FROM tabel
--
Smerter? : http://paincare.dk[...] Lav din egen hol-setup-liste: http://hamdenkloge.dk[...]
#16
rokujuuyon
Elitebruger
26-01-2011 10:08

Rapporter til Admin
http://pastebin.com[...] Den her burde gøre det du vil - men jeg forstår stadig ikke helt hvorfor du skal bruge den information.
--
#17
Zimes
HOL Moderator
26-01-2011 10:09

Rapporter til Admin
#14 Lav et nyt dokument, med det ene formål at finde ud af hvordan du hiver dine data ud af databasen og behandler dem. Lad være med at have andet end kode hvor du forbinder til din database og vælger forskellig data fra forskellige kolonner. Når du har fundet ud af det og har forstået hvordan det fungerer, kan du gå videre.
--
This text is in bold
#18
cube2
Giga Supporter
26-01-2011 10:37

Rapporter til Admin
Jeg vil takke for hjælpen, og begynde at kigge i det i har forslået, men pt. kører jeg nu med Auto_increment som #12 forslog.
--
"Once you let go of your morals, everything becomes funny" - David Hayden
#19
nesalc
Bruger Aspirant
26-01-2011 11:35

Rapporter til Admin
Kom nu lige ind i kampen og læs en smule dokumentationen :-) $query = "select max(number) as max_number from some_table"; $result = mysql_query($query); if ($result !== false) { $row = mysql_fetch_assoc($result); echo "Max number: " . $row['max_number']; }
--

Opret svar til indlægget: Definere PHP variabel, som indhold fra SQL tabel

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning