webForumDet fria alternativet

COUNT och hämta id samtidigt

Databaser & SQLur Databashanterare & SQL

6 svar · 264 visningar · startad av Pedda

Medlem sedan juni 20006 032 inlägg
Frågan#1

Har denna kod för att kolla om ett företag är registrerat. Om företaget redan är registrerad så vill jag ha vilket id den har, hämtat i samma sql-fråga.
Går det?

// Kolla om så företaget inte redan är registrerat. 
$sql = "SELECT COUNT(*) FROM foretag WHERE foretag='{$_POST['foretag']}' AND ort='{$_POST['ort']}'"; 
$result = mysql_query($sql) or die('Fel: ' . mysql_error());
  if (mysql_result($result, 0) > 0) { 
    $reg_error[] = 14; 
}
Medlem sedan mars 20025 907 inlägg
#2

Måste du räkna då? Plocka bara ut id't istället. Finns det ett id så finns ju företaget, finns det inget id (dvs, frågan returnerar inget) så finns inte företaget.

Medlem sedan juni 20006 032 inlägg
#3

Skriptet kollar ju så man inte registrerar samma företag två gånger. Alltså vet inte den som försöker göra det andra gången att företaget redan finns i databasen. Så jag behöver veta vilket id företaget har som redan finns i databasen.
Vill helst slippa göra två sql frågor. En som kollar om företaget redan är registrerat och en för att hämta id'et på det redan registrerade företaget.

Medlem sedan mars 20025 907 inlägg
#4

Ja?
Istället för att räkna antalet företag som har ett visst namn, så kan du ju plocka ut id-numret på det företaget som har det namnet. Finns inte företaget så får du ju inte heller ett id.

$sql = "SELECT id FROM foretag WHERE foretag='{$_POST['foretag']}' AND ort='{$_POST['ort']}'"; 
$result = mysql_query($sql) or die('Fel: ' . mysql_error());
$var = mysql_fetch_assoc($result));
  if ($var){
    $id = $var['id'];
  }else{
    $reg_error[] = 14; 
}

Otestad kod

Medlem sedan juni 20006 032 inlägg
#5

Ah, det var så du menade. Att jag inte tänkte på det. :r

Tackar.

Medlem sedan mars 20025 907 inlägg
#6

Så lite så :)

Medlem sedan juni 20006 032 inlägg
#7

Fick det att fungera efter lite ändringar.

137 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)