Gå til innhold

Sjekke om input allerede eksisterer


Anbefalte innlegg

Skrevet

Er det en funskjon i mySql som sjekker om et input allerede eksisterer i tabellen?

 

Holder på å lage en kontaktliste, som flere kan bruke.. og for å hindre at det blir lagt til flere linjer for samme person så må jeg finne en måte å ordne det på.

noen som vet?

Videoannonse
Annonse
Skrevet

Kjør en spørring som skriver ut alle navnene og loop gjennom resultatet med et søk på det navnet som skal legges inn. Hvis det finnes så avbryter du innleggingen. Hvis ikke så kjører du en spørring som legger inn navnet.

Skrevet (endret)

takk for å vise veien.

 

lagde en funksjon som ble slik(hvis noen trenger det samme, eller om det er tips å gi):

<?php
function sjekke_eksist($dbtabell, $kolonne, $input){
  $finneksisterendenavn = "SELECT * FROM $dbtabell WHERE $kolonne = $input";
 	$sjekkomeksisterer = mysql_query($finneksisterendenavn) or die(mysql_error());
 
   while($rad = mysql_fetch_array($sjekkomeksisterer)){
   	if(!empty($sjekkomeksisterer)){
      echo "$kolonne er allerede lagt inn";
     die();
     }
   }	
}
?>

kaller den slik:

sjekke_eksist(kontaktliste, mobilnummer, $mobilnummer);

Endret av kennteh
Skrevet

Koden fungerer sikkert helt fint, men normalt sett ville jeg heller foretrukket en "SELECT count(*) FROM tabell WHERE ...", og så sjekket tallverdien du får returnert.

Skrevet
Hva med en unique constraint?

6683970[/snapback]

Excellent idea. Jeg leste tydeligvis ikke hele innlegget til trådstarter. Å gjøre dette på klientsiden er i hvert fall horribelt.

Skrevet

Når du lager ein tabell som definerer du attributten som unik.

 

CREATE TABLE products (
   product_no integer UNIQUE,
   name text,
   price numeric
);

 

Då kan du ikkje ha 2 liker verdier i den kolonna. Null verdier blir ikkje definert like. Eller:

 

ALTER TABLE table_name
add CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);

Skrevet
ALTER TABLE table_name
add CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);

6707344[/snapback]

Viktig å merke seg med denne syntaksen: Det er kombinasjonen av column1..column_n som må være unik, det kan godt være flere rader med samme verdi i column1.

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...