Avatar billede mibu Nybegynder
16. august 2007 - 10:13 Der er 16 kommentarer og
1 løsning

Hvad betyder dette Resource id #21

Jeg har en query der virker når jeg sender den direkte i phpMyAdmin.
Men når jeg sender den via min phpside får jeg dette svar: Resource id #21

Hvad betyder det?
Og hvordan fixer jeg det :-)
Avatar billede erikjacobsen Ekspert
16. august 2007 - 10:22 #1
Avatar billede mibu Nybegynder
16. august 2007 - 11:12 #2
Øhh?
Er jeg dummerer end andre folks børn? Jeg kan ikke lige ser sammenhængen.

min query ser sådan her ud:
$kon = mysql_query("SELECT kon FROM min_tabel WHERE aar = YEAR (".$dato1.")");
Avatar billede erikjacobsen Ekspert
16. august 2007 - 12:01 #3
Kig på eksemplerne, fx:

mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
Avatar billede mibu Nybegynder
16. august 2007 - 14:04 #4
Okay jeg ser et resultat!
Men jeg vil gerne have det en i en <tabel> hvor jeg i forvejen bruger echo" den kan jeg ikke lige greje. Hver gang jeg prøver at "flytte" svaret får jeg fejl.:

$result = mysql_query("SELECT * FROM budget");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("%s", $row["kontingent"]);
}
Avatar billede erikjacobsen Ekspert
16. august 2007 - 15:28 #5
Du kan også bare

  echo $row["kontingent"];

men hvad fejl får du?
Avatar billede mibu Nybegynder
16. august 2007 - 15:43 #6
Skriver jeg:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo $row["kontingent"];
}

så virker det, men da det jo gerne skulle ende i min tabel sammen med den anden database information, så går det galt.
Avatar billede erikjacobsen Ekspert
16. august 2007 - 15:49 #7
Du må komme med lidt flere oplysninger ;)
Avatar billede mibu Nybegynder
16. august 2007 - 16:04 #8
//kontin = mysql_query("SELECT kontingent FROM budget WHERE aar = YEAR (".$dato1.")"); DET VAR DENNE STRENG JEG STARTEDE MED
$result = mysql_query("SELECT * FROM budget");//WHERE aar = YEAR (".$dato1.")  skulle gerne med men virker ikke

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo $row["kontingent"];
}



{
$sum_ud = number_format($sum_30+$sum_32+$sum_34+$sum_36+$sum_38+$sum_40u, 2, '.', '');
}
{
$sum_ind = number_format($sum_20+$sum_22+$sum_24+$sum_26+$sum_40i, 2, '.', '');
}
{
$sum_i_alt = number_format($sum_ind-$sum_ud, 2, '.', '');
}
{
$sum_behold = number_format($sum_b+$sum_k, 2, '.', '');
}

{
     
        echo "

   
       
<table width='600' border='0'>


<tr>
    <td width='300'><strong><u>INDTÆGTER</u></strong></td>
    <td width='100'><strong><center>Regnskab<br>2006</center></strong></td>
    <td width='100'><strong><center>Regnskab<br>2007</center></strong></td>
    <td width='100'><strong><center>Budget<br>2007</center></strong></td>
</tr>


<tr>
    <td>Kontingenter</td>
    <td>$sum_20_old</td>
    <td>$sum_20</td>
    <td>HER SKULLE RESULTATET STÅ</td>
</tr>
Avatar billede mibu Nybegynder
17. august 2007 - 13:07 #9
Okay så har jeg fået styr på denne her, den virker.
$result = mysql_query("SELECT * FROM budget");

Men når jeg tilføjer lidt ekstra så virke det ikke!
$result = mysql_query("SELECT * FROM budget WHERE aar = YEAR (".$dato1.")");
($dato1 returnerer yyyy-mm-dd, hvor jeg kun skal bruge yyyy)
Avatar billede mibu Nybegynder
17. august 2007 - 13:19 #10
Jeg bør måske lige tilføje, at "aar" i tabellen kun indeholder årstal, altså ikke dag og måneder.
Avatar billede dkfire Nybegynder
18. august 2007 - 14:23 #11
Hvor får du $dato1 fra, og hvad indeholder den ???
Avatar billede erikjacobsen Ekspert
18. august 2007 - 14:28 #12
Jeg er desværre ikke i stand til at gætte hvad du vil, hvad der sker, og hvad der er galt.
Avatar billede mibu Nybegynder
18. august 2007 - 18:22 #13
$dato1 og $dato2 er det input som bruger laver på min formularside, man indtaster f.eks. "fra 2007-01-01 =$dato1 til 2007-12-31 =$dato2" Og ud fra den indtastning bruger jeg $dato1, men KUN årstallet (Det er ihvertfald min plan)

Jeg kan godt få hele et resultat frem på siden, når jeg bruger denne her:
$result = mysql_query("SELECT * FROM budget");

men når jeg forsøger at til føje:
WHERE aar = YEAR (".$dato1.")");
Så virker det ikke (og der er selvfølgelig noget i db på det valgte år :-) )
Problemmet er at det indtastede søgekriterie også bruges til at finde information i en anden tabel, hvor det hele bruges, men lige her skal jeg altså kun bruge årstal.
Avatar billede erikjacobsen Ekspert
18. august 2007 - 18:31 #14
Jamen når du nu forklarer præcist hvad der foregår, er løsningen jo meget nem:

  WHERE aar = YEAR ('".$dato1."')");

Selv ville jeg nok lade PHP pille året ud.
Avatar billede mibu Nybegynder
18. august 2007 - 23:05 #15
$result = mysql_query("SELECT * FROM budget WHERE aar = YEAR ('".$dato1."')");
DEN VIRKER! Jeg har simpelthed stirrret mig blind på min egen streng, jeg kunne ikke se at der manglede 2 x ' Takker!

Send straks et svar :-)

PS. hvordan kunne jeg have brugt php til at pille året ud? Bare sådan for en anden gang. Er det noget med (2007-01-01 ('Y')) eller hvad?
Avatar billede erikjacobsen Ekspert
18. august 2007 - 23:05 #16
Man kunne lave en split på "-". Jeg samler slet ikke på point, tak.
Avatar billede mibu Nybegynder
19. august 2007 - 08:24 #17
Ok!
Men du samler vel på "takker" så du må få et par stykker mere. Tak! tak! :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester