Lidt php/mysql hjælp

Tags:    php

<< < 123 > >>
Mangler lige noget hjælp her.. Jeg vil lave en CMS-agtig hjemmeside, men jeg synes ikke rigtig mit PHP og MySQL vil kommunikére.
Lige i øjeblikket er jeg ved at prøve at lave en side hvor man kan redigére en side. Jeg har gjort sådan her:

Fold kodeboks ind/udKode 


Problemet er at der ikke kommer noget frem på siden overhovedet. Hverken fejl, textarea-bokse eller submit-knap. Kun hvid baggrund. Det er lang tid siden jeg sidst har kodet php, så det kan godt være jeg har husket et eller andet helt forkert. Så derfor beder jeg jer om hjælp :)

På forhånd tak.
ziMpy



Indlæg senest redigeret d. 14.03.2007 18:09 af Bruger #5766
27 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Prøv at lave noget debugging ved f.eks. at sige

$r = mysql_fetch_array($query);
print_r($r);

For at se om der overhovedet kommer noget fra databasen.



byt rundt på " og ' i dit query

$query = mysql_query("select id, text1, gfdato, formand, nformand, kasserer, bogholder, vagtleder, turneringsleder, sekretaer, 1suppleant, 2suppleant, 3suppleant, revisor, revisors, bbd, text2 from bestyrelsen where id='$id'");


iøvrigt kalder du dine kolonner i sql for 1,2,3suppleant men i php for suppleanta,b,c.
Iøvrigt synes jeg ikke du bør bruge tal i navn på kolonner.
Og sidst men ikke mindt bør du indekserer dit array $r['string'] med '.




jeg vil sige at din mysql connection ikke ser helt go ud "192.168.1.3" er en intern ip som jeg ikke tror du kan bruge...
men prøv at skriv
Fold kodeboks ind/udKode 




Vi har alle været nybegyndere engang, og det begynder ligeså stille og hænge fast efterhånden som man arbejder med det.

Nu skal du se, Dit problem er denne gang, som det egentlig også var før, at du skal holde styr på dine quotes ( " og ' )

En god mani, når man koder PHP er at man når man skal skrive en variabel, på den éne eller anden måde, altid går ud af sine quoutes.

Eksempel 1:

Fold kodeboks ind/udKode 

Dette vil udskrive:

Hej her er en variabel: 123
Hej her er en variabel: 123

(Det samme, dette er blot en regel for at have en "pæn" kode)

Når man vil bryde sine quotes, for at skrive en variabel, eller en funktion ud, skal der altid punktummer " . " foran og bagefter, HVIS man fortsætter sin udskrivning.

Håber du forstår.
Som du kan se i eksempel 1 så har jeg ikke et punktum efter variablen, det er fordi jeg ikke vil udskrive mere.

Hvis jeg derimod ville skrive en længere sætning med variabler kunne det gøres sådan her:

Eksempel 2:

Fold kodeboks ind/udKode 

Dette vil udskrive:

Hej, dit navn er Klaus
Du er 20 år gammel


Som du kan se forsætter man her bare ved at tilføje punktummet bagefter igen.

Det var lidt baggrunds viden.

Nu til dit problem.
Hvis vi kigger på din kode, linie 5:

Fold kodeboks ind/udKode 


Du bruger her doublequote ( " ) som primær quote, hvilket er det mest normale, når du så vil indsætte noget i feltet laver du en énkel quote, dette er rigtig nok at gøre, men i dette tilfælde vil du så indsætte $texta i dit fejl, og ikke variablen $texta.

Der skal nogle quotes og nogle punktummer ind.

Fold kodeboks ind/udKode 


Så er der sat double-quotes og punktummer ind ved alle dine variabler, dine enkelte quotes er stadig nødvendige, da hvis der er et mellemrum i et af dine felter vil den ødelægge din kode hvis de ikke var der.

Dette skulle være funktionelt, og så håber jeg du forstår alt mit snak her over, det er sikkert lidt forvirende, hehe...

Lige en lille notits:

Du skriver WHERE id = '".$id."'
Husk du så skal sørge for at ID er med ovre, ved ikke om du sender dataen videre til en anden fil, eller blot samme dokument, men sørg for at denne er defineret ordentligt



Indlæg senest redigeret d. 14.03.2007 16:19 af Bruger #9674
Du skal ikke bruge paranteser i echo.

Tror det er der dit problem er.

Det kan også være din værdi af $id, hvis denne ikke har nogen værdi så henter queryen ikke noget, og du får ikke noget ud.

Hurtig rette version:

Fold kodeboks ind/udKode 


Har også rykket din mysql_close() op, den er ikke nødvendig for mysql_fetch_array()



Prøv også:
Fold kodeboks ind/udKode 


Du kan også prøve at echo'e $id for at være sikker på den har en værdi.



Sikke nogle hurtige svar - tak for det!
Til Jonas: Denne kode:
Fold kodeboks ind/udKode 

-giver heller ikke noget resultat. Men ligemeget om den kan kommunikere eller ej, burde der så ikke i det mindste komme nogle tomme bokse og en knap? Eller er det bare mig?

Til Bjørn: Jeg er ret sikker på man godt kan bruge paranteser på den måde, og den giver jo heller ikke nogle fejl på den måde jeg har skrevet det. Prøvede dog alligevel din 'Hurtige rette version', og den giver også det samme resultat; helt hvid skærm.
Mht til det med $id, så har jeg været inde på phpmyadmin og tjekke, og der står at den har værdi 1.

Til alle: Håber stadig meget på at der er nogle der vil/kan hjælpe mig, i er jo så kloge herinde (ja, jeg ved godt jeg fedter for jer) :D





Indlæg senest redigeret d. 14.03.2007 18:11 af Bruger #5766
Ok nu ser min kode sådan ud:
Fold kodeboks ind/udKode 

Nu får jeg i det mindste en fejl:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/www/frac/users/z/zimpy/rediger_bestyrelsen.php on line 6

Linje 6 er altså
Fold kodeboks ind/udKode 
Hvad gør jeg galt i den?



Måske du burde undgå at skrive hvad der ser ud til at være dit databasepassword på et offentligt forum..



er $id overhovedet sat til noget den bliver ikke sat før brug i den kode du viser og så bliver din query ...where id=''

du kan skrive

$query=mysql_query("DIN_QUERY") or die(mysql_error());

som det blev forslået tidligere



<< < 123 > >>
t