24. juli 2006 - 19:43Der er
6 kommentarer og 1 løsning
Løkke som laver titel unikt
Har brug for en løkke, som laver titel unikt. Dvs. når denne streng returnerer 0, er titlen unik:
$forespLink = mysql_query("SELECT id FROM " . $db . " WHERE titel='" . $titel_navn . "'") or die(mysql_error());
Dvs. hvis: mysql_num_rows($forespLink) == '1' --> $titel_navn er ikke unik, lav den om til f.eks. $titel_navn = $titel_navn.'_2'; (det er fint hvis den bare plusser 1 hver gang)
Hvis: mysql_num_rows($forespLink) == '0' --> Den er unik, og der skal ikke gøres mere ved $titel_navn
$sql = "SELECT id FROM $db WHERE titel='$titel_navn'"; $result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result) == 0) echo "Titlen $titel_navn er ikke brugt før."; else { $counter = 1; do { $counter++; $sql = "SELECT id FROM $db WHERE titel='{$titel_navn}_{$counter}'"; $result = mysql_query($sql) or die(mysql_error()); } while (mysql_num_rows($result) > 0)
echo "Titlen {$titel_navn}_{$counter} er ikke brugt før."; }
nielle> det ser ud til at virke, men kan ikke lide din måde med din $variabler inde i din tekst streng, jeg bruger altid: echo "Titlen ".$titel_navn." er ikke brugt før.";
coldgate, men det er ikke nødvendigt. Strenge omgivet af "" oversætter selv $variabler. Man kan dog sætte {} som i gammelt bash scripting: echo "Titlen {$titel_navn} er ikke brugt før."; eller echo "Titlen ${titel_navn} er ikke brugt før.";
Det er jo ultimativt et spørgsmål om smag og behag.
Sommetider foretrækker jeg .-metoden og i andre sammenhænge foretrækker jeg den med indlejrede variable. De kan begge være med til at gøre koden lettere at læse alt efter sammenhængen.
Når jeg bruger .-metoden insistere jeg dog altid på mellemrum rundt om .-tegnene sådan at det bliver mere synligt hvad der sker:
echo "Titlen " . $titel_navn . " er ikke brugt før.";
I dette løsning brugte jeg den indlejrede version, og lige i dette tilfælde er {}-parenterne uundgåelige, idet PHP ellers ville undre sig over variablen "$titel_navn_" i:
echo "Titlen $titel_navn_$counter} er ikke brugt før.";
Synes godt om
Slettet bruger
31. juli 2006 - 21:32#7
okay ja du har ret i at det er smag og behag.
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.