webForumDet fria alternativet

COUNT och hämta id samtidigt

6 svar · 264 visningar · startad av Pedda

PeddaMedlem sedan juni 20006 032 inlägg
#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; 
}
PeeerMedlem 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.

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

PeeerMedlem 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

PeddaMedlem sedan juni 20006 032 inlägg
#5

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

Tackar.

PeeerMedlem sedan mars 20025 907 inlägg
#6

Så lite så :)

PeddaMedlem sedan juni 20006 032 inlägg
#7

Fick det att fungera efter lite ändringar.

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