28. marts 2004 - 21:12Der er
20 kommentarer og 1 løsning
hvorfor virker query'en ikke
jeg har en database der hedder kunder,en bestemt kunde har en kundeID. kunden ønsker at leje en film, kunden taster sit cpr nr og den film nr han ønsker at leje, her kommer problemet, hvordan skal jeg løse det med to querys, hvor den første finder kunden(kundeID,navn,cprnr,adresse) udfra den tastede cprnr og dermed skal den anden query finder filmen(filmID, navn)ogplacerer filmens nr i den nøgle der er berettigt til filmnr i den bestemte kundenavn . i må gerne rette i koden så den virker, jeg får ingen fejl meddelser men der sker intet når kunden indtaster sit cpr og den film nr han vælger at leje min kode ser sådan ud
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Hej rasmus Tak for dit svar ,men jeg vil sige at der mangler den anden querry, jeg har altså to tabeller, en der hedder kunder hvor den består af kundeid,navn,adresse, tlf, cpr og filmid,,,,,den anden tabell hedder film og består af filmid,filmnavn,genre og produktionaar. jeg vil have at når kunden indtaster sit cpr nr så bliver kunden identificeret og den filmid han vælger bliver sat ind i den tabel der hedder kunder i filmid nøglen, så hvis man vil søge efter udlejte film så skal man søge efter de steder i kunder tabel hvor der står noget i filmid nøglen... håber det her vil hjælpe dig og hjælpe mig med at finde de rigtige query og koder,,på forhånd mange tak til dig.
Hej igen jeg ved ikke hvad er der galt , jeg ændrede en del i koden men det virker ikke,jeg ved ikke om du læste min detaljeret beskrivelse af hvad querry'en skal,altså der er to felter den ene skal man indtaste sit cpr nr i og den anden den film man vælger, der er en tabel hvor kundens cpr nr og navn og filmid, filmid felten er tøm, når man indtaste sit cprnr så skal querry finde den person udfra cpr nr'et og så skal den film nr man vælger placeres i den felt i selve tabellen der hedder filmID.Altså bare udfylde kundens nr med den film nr han vælger..håber på et hurtig svar.
Altså en bruger som er oprettet i databasen i en tabel som hedder kunder hvor der er mange nøgle om kundens oplysninger, en af nøglerne hedder filmid,den er tøm, indtil den pådældende kunde logger sig ind, bliver godkendt, så vælger han en film, trykker på en knap som hedder lejfilm hvor efter i han skal indtaste sit cprnr og den film nr han vælger, jeg vil have at når han indtaster sit cpr nr så bliver han fundet, derefter bliver den film han indtaster gemt i den nøgle der hedder filmid
filmen: indeholder id'er og navne på film, korrekt? kunden: indeholder kunde oplysninger..
Når du siger at det valgte filmid skal gemmes, er det så en ny tabel? Er det en del af opgaven?
I så fald, så laver vi lige en ny tabel der hedder udlaan. CREATE TABLE udlaan( kundeid int not null, filmid int not null, primary key(kundeid,filmid) );
det har været en stor hjælp, men der er lige en ting min ven, jeg har ikke en tabel der hedder udlån, det hele skal forgår i selve tabellen kunder hvor det film nr bliver sat på den nøgle der hedder film id(min tabel hedder kunder og indeholder, kundeid,navn,fornavn, cpr,og filmid) du nævnte en god løsning ang om man kan tjekke om filmid er udlejt, hvad skal man skrive som kode, hvis du vil og har tid, ellers er det ikke hel vigtigt for min opgave
if( $kundeid === null ) { print "Kundeinformationer er ikke fundet."; exit; }
// Tjek om filmen er udleget
$res = mysql_query("SELECT 1 FROM kunder WHERE filmID = '$filmid'") or die(mysql_query());
if( mysql_fetch_row($res) ) { // Hvis den er udlånt får vi een række, og kommer derfor ind i denne if-sætning print "Filmen er desværre udlånt"; exit; }
// Her burde der måske være et tjek, om det er et rigtigt filmid der // er givet til scriptet, således at man ikke kan leje ikke-eksisterende // film.
// Opdatér udlaan
$res = mysql_query("UPDATE kunder SET filmID='filmID' WHERE kundeid='$kundeID'") or die("Databasefejl: " . mysql_error());
1000 tak for hjælpen, kan jeg får din mail så vi kan snakke på msn, jeg opdagede lig en fejl i en anden php det drejer sig om samme tabel kunder, der er en knap der hedder kundeoversigt hvor alle kunder i tabellen bliver fremvist
en anden knap hedder slet kunde,,,der er et felt hvor man skal skrive kundenID og så knappen slet,,,hved er det for en kode man skal bruge til at den kunde nr man indtaster bliver slettet, hvis jeg er lidt besværligt så undskyld mig,
det er mig igen, jeg troede det vil virke, men når jeg indtaste en bedtemt kundes cprnr og den fil han lejer og trykker på udlej film så sker der intet og jeg får ingen fejl meddeleser...underligt ikke.
> jeg forstår ikke helt det med kundid= null (forklaring) $kundeid = null; er for at give en defaultværdi.. senere, efter databasekaldende har vi: if( $kundeid === null ) {
hvis $kundeid'et stadig er null så skriver vi en fejl ud med at kunden ikke kunne findes.
$res=mysql_query("SELECT kundeID FROM kunder WHERE kunder.CPR = '$CPR'"); ... $kundeid = $row[0];
som du ser, så henter vi kundeID ud fra databasen - det bliver gemt som $row[0] (da det er den første kolonne vi trækker ud).. Man kunne snildt gøre bruge mysql_fetch_array() istedet for mysql_fetch_row() og så skrive:
hmm, du kan jo prøve at skrive $kundeid når den er blive tildelt (den med $kundeid = $row[0]) og se om du får en værdi
Synes godt om
Ny brugerNybegynder
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.