Gå til innhold

Hvordan hente data fra input field [mySQL/PHP]


Anbefalte innlegg

Hei

 

Databasen skal senere i prosessen sende en epost til vedkommende med tidligere bestillinger, men vi sliter med å finne ut av hvordan den skal skjønne at i <input type="text" /> skal stemme overens med tabellen kunde, altså fordi besøkende skal skrive inn sitt kundenummer og epost, men hvordan vet databasen at kunde_id og Email skal stemme overens med infoen som han har registrert seg med tidligere i tabellen "kunde", stemmer?

 

Vet at det er noe som heter "kunde_id = Email", altså 1=1.

Hva må vi gjøre for at den skal sjekke gjennom tabellene og se om det som brukeren har skrevet i formen, stemmer med infoen som står i tabellen? For det er først DA, den vil sende ut en epost med tidligere bestillinger.

 

Er det en php kode, eller en SQL spørring som vet fikser dette?

Eller er den linken her; http://www.anyexampl...ta_fetching.xml

 

til noe hjelp? Er det noen av de metodene vi skal bruke for at databasen sjekker om infoen stemmer overens med det brukeren har skrevet i "field"?

 

EDIT: Er det noe som ligger i prinsippet user registration, altså er det nesten som et log-in script vi må bruke? Må vi bruke session? må vi bruke cookies? omg, stressss!

Endret av Frank James Lampard jr.
Lenke til kommentar
Videoannonse
Annonse

Databasen din vet ingenting om html-forms, session, cookies, og den kan ikke sende email. Den kan bare lagre og gjenfinne data. Derfor burde du poste spørsmålet i et php-forum isteden. Den lille biten av dette som har å gjøre med databasen, er spørringen som skal gjenfinne brukerdata, og det er vanskelig å si noe om den når du ikke forteller hvordan tabellene din ser ut. Men eksempelvis kan det kanskje se ut som noe a'la dette, la oss si du har fått fatt i kunde_id i variablen $kunde_id (hvorfor trenger du email i tillegg? Hvis du ikke kan identifisere kunden entydig utfra kunde_id er det noe galt et sted ...)

 

$query = sprintf("SELECT navn, adresse, blablabla from kunde where kunde_id = '%s'",

mysql_real_escape_string($kunde_id));

 

 

// Perform Query

$result = mysql_query($query);

 

// Check result

// This shows the actual query sent to MySQL, and the error. Useful for debugging.

if (!$result) {

$message = 'Invalid query: ' . mysql_error() . "\n";

$message .= 'Whole query: ' . $query;

die($message);

}

 

Dette er klippt rett fra php-manualen som du sikkert har nytte av å lese. http://php.net/manual/en/function.mysql-query.php, jeg er sikker på du skjønner resten når du leser linken. good_query-greiene trenger du ikke.

Lenke til kommentar

post-162799-1273087909,9105_thumb.png

 

 

Dette er det jeg har kommet fram til hittil.

Databasen er som følger, en SQL fil;

 

 


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `Kunde-Produkt` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `Kunde-Produkt`;

-- -----------------------------------------------------
-- Table `Kunde-Produkt`.`Postnummer`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `Kunde-Produkt`.`Postnummer` (
 `Postnummer_id` CHAR(4) NOT NULL ,
 `Poststed` VARCHAR(15) NOT NULL ,
 PRIMARY KEY (`Postnummer_id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Kunde-Produkt`.`Kunde`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `Kunde-Produkt`.`Kunde` (
 `Kunde_id` INT NOT NULL AUTO_INCREMENT ,
 `Fornavn` VARCHAR(25) NOT NULL ,
 `Etternavn` VARCHAR(25) NOT NULL ,
 `Telefon` CHAR(12) NULL ,
 `Email` VARCHAR(45) NOT NULL ,
 `Adresse` VARCHAR(20) NOT NULL ,
 `Postnummer` CHAR(4) NULL ,
 PRIMARY KEY (`Kunde_id`) ,
 INDEX `fk_Kunde_Postnummer` (`Postnummer` ASC) ,
 CONSTRAINT `fk_Kunde_Postnummer`
   FOREIGN KEY (`Postnummer` )
   REFERENCES `Kunde-Produkt`.`Postnummer` (`Postnummer_id` )
   ON DELETE NO ACTION
   ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Kunde-Produkt`.`Produkt`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `Kunde-Produkt`.`Produkt` (
 `Produkt_id` INT NOT NULL ,
 `Produkt_navn` VARCHAR(20) NOT NULL ,
 `Pris` CHAR(4) NOT NULL ,
 PRIMARY KEY (`Produkt_id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Kunde-Produkt`.`Bestilling`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `Kunde-Produkt`.`Bestilling` (
 `Bestilling_id` INT NOT NULL AUTO_INCREMENT ,
 `Kunde_id` INT NULL ,
 `Produkt_id` INT NOT NULL ,
 `Dato_bestilling` DATE NULL ,
 `Dato_betalt` DATE NULL ,
 PRIMARY KEY (`Bestilling_id`) ,
 INDEX `fk_Bestilling_Kunde` (`Kunde_id` ASC) ,
 INDEX `fk_Bestilling_Produkt` (`Produkt_id` ASC) ,
 CONSTRAINT `fk_Bestilling_Kunde`
   FOREIGN KEY (`Kunde_id` )
   REFERENCES `Kunde-Produkt`.`Kunde` (`Kunde_id` )
   ON DELETE NO ACTION
   ON UPDATE NO ACTION,
 CONSTRAINT `fk_Bestilling_Produkt`
   FOREIGN KEY (`Produkt_id` )
   REFERENCES `Kunde-Produkt`.`Produkt` (`Produkt_id` )
   ON DELETE NO ACTION
   ON UPDATE NO ACTION)
ENGINE = InnoDB;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

 

 

 

Ga det deg noe mer informasjon, burde jeg gå for den snippeten du sa, eller den jeg har over?

Takk for linken quantum.

Endret av Frank James Lampard jr.
Lenke til kommentar

...

Ga det deg noe mer informasjon, burde jeg gå for den snippeten du sa, eller den jeg har over?

Takk for linken quantum.

Post snipperten din en gang til ...

 

Edit: nå kan jeg lese den ... vet ikke hva som skjedde, men forslaget ser helt kurant ut, bytt ut customer_id med kunde_id osv.

Endret av quantum
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...