Avatar billede haolan Nybegynder
02. oktober 2005 - 15:15 Der er 19 kommentarer og
2 løsninger

Udskriv: Ikke valgt hvis formularfelt er tom

Jeg har følgene script:

<?php
include('php/config.php');

$result = mysql_query("SELECT * FROM kategori WHERE id = {$_POST['kategori']}");
$count = mysql_query("SELECT COUNT * AS TOTAL FROM kategori WHERE id = {$_POST['kategori']}");

if ($count == 1) {
$kategori1 = "".$r['kat']."";

} else {

$kategori1 = "Ikke valgt";

}

$result = mysql_query("SELECT * FROM kategori WHERE id = {$_POST['kategori2']}");
$count = mysql_query("SELECT COUNT * AS TOTAL FROM kategori WHERE id = {$_POST['kategori']}");

if ($count == 1) {
$kategori2 = "".$r['kat']."";

} else {

$kategori2 = "Ikke valgt";

}

$result = mysql_query("SELECT * FROM kategori WHERE id = {$_POST['kategori3']}");
$count = mysql_query("SELECT COUNT * AS TOTAL FROM kategori WHERE id = {$_POST['kategori']}");

if ($count == 1) {
$kategori3 = "".$r['kat']."";

} else {

$kategori3 = "Ikke valgt";

}

echo "<table><tr><td>";

echo "<b>Dit navn:</b></td><td>";
echo "".$_POST['navn']."";
echo "</td></tr><tr><td>";

echo "<b>Din E-mail:</b></td><td>";
echo "".$_POST['email']."";
echo "</td></tr><tr><td>";

echo "<b>Overskrift:</b></td><td>";
echo "".$_POST['overskrift']."";
echo "</td></tr><tr><td>";

echo "<b>Adresse:</b></td><td>";
echo "".$_POST['link']."";
echo "</td></tr><tr><td>";

echo "<b>Kategori 1:</b></td><td>";
echo "".$kategori1."";
echo "</td></tr><tr><td>";

echo "<b>Kategori 2:</b></td><td>";
echo "".$kategori2."";
echo "</td></tr><tr><td>";

echo "<b>Kategori 3:</b></td><td>";
echo "".$kategori3."";
echo "</td></tr><tr><td>";

echo "<b>Søgeord:</b></td><td>";
echo "".$_POST['keywords']."";
echo "</td></tr><tr><td>";

echo "<b>Beskrivelse:</b></td><td>";
echo "".$_POST['beskrivelse']."";
echo "</td></tr></table>";

?>

Jeg har forsøgt mig lidt med at få den til at skrive ikke valgt, hvis man ikke har valgt at udfylde noget i hver af de tre kategorifelter.

Jeg har lavet det som i kan se i scriptet foroven, men den udskriver ikke valgt uanset om der er valgt noget eller ej..

Nogen der har en bedre måde at gøre det på?
Avatar billede jaw Nybegynder
02. oktober 2005 - 15:17 #1
$result = mysql_query("SELECT * FROM kategori WHERE id = {$_POST['kategori']}");
$count = mysql_query("SELECT COUNT(*) FROM kategori WHERE id = {$_POST['kategori']}");

if (mysql_result($count, 0) == 1) {
$r = mysql_fetch_assoc($result);
$kategori1 = $r['kat'];

} else {

$kategori1 = "Ikke valgt";

}
Avatar billede udvikler Nybegynder
02. oktober 2005 - 15:19 #2
if ($_POST['feltnavn'] == "")
{
echo "Du mangler at skrive noget";
}else {
echo "Det virker";
}

Var det det du mente ?
Avatar billede jaw Nybegynder
02. oktober 2005 - 15:22 #3
Kan også gøres nemmere:
$result = mysql_query("SELECT COUNT(*) as total, * FROM kategori WHERE id = {$_POST['kategori']}");
$r = mysql_fetch_assoc($result);
if($r['total'] == 1) {
  $kategori1 = $r['kat'];
} else {
  $kategori1 = "Ikke valgt";
}
Avatar billede haolan Nybegynder
02. oktober 2005 - 15:37 #4
Jeg hælder mest til din -aco- det er nok den bedste løsning... men problemet er at når {$_POST['kategori']} i

$result = mysql_query("SELECT * FROM kategori WHERE id = {$_POST['kategori']}");

ikke er blevet udfyldt så udskriver den en fejlmeddelse:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\test\checklink.php on line 50

Og den skriver ikke noget i der hvor der skulle stå "Ikke valgt".. Den skriver kun noget hvis den har et id-nummer..
Avatar billede jaw Nybegynder
02. oktober 2005 - 15:46 #5
if(isset($_POST['kategori']) && !empty($_POST['kategori'])) {
  $kategori1 = mysql_result(mysql_query("SELECT * FROM kategori WHERE id = {$_POST['kategori']}"), 0);
} else {
  $kategori1 = "Ikke valgt...";
}
Avatar billede udvikler Nybegynder
02. oktober 2005 - 15:46 #6
Jamen, hvorfor vil du have { og } rundt om $_POST['kategori'] ?

- tror det er det fejlen ligger :)
Avatar billede jaw Nybegynder
02. oktober 2005 - 15:48 #7
Nej, den kan jo ikke finde en linie, hvor id = ingenting.
Avatar billede haolan Nybegynder
02. oktober 2005 - 15:49 #8
nope.. men så skal den kun finde den linie hvis id har noget indhold
Avatar billede haolan Nybegynder
02. oktober 2005 - 15:53 #9
Nu er den lige ved at være der med jaw's løsning :)

Men så snart id = 1 så udskriver den også "ikke valgt", den skal kun skrive ikke valgt hvis feltet er tomt
Avatar billede haolan Nybegynder
02. oktober 2005 - 15:56 #10
ahr det var mig der fjumrede i det :) det virker fint med Jaw's løsning..
Avatar billede jaw Nybegynder
02. oktober 2005 - 15:56 #11
Hm, det forstår jeg ikke. Hvis $_POST['kategori'] er 1, så burde den ikke kunne skrive "ikke valgt".
Avatar billede jaw Nybegynder
02. oktober 2005 - 15:57 #12
Hva så? Mig og Aco deler? Eller hvad er der stemning for...?
Avatar billede haolan Nybegynder
02. oktober 2005 - 16:04 #13
Lige én ting til.. Den du har lavet jaw, den udskriver jo kun kategorinumrene nu.. den skulle jo udskrive kategorinavnet vha.  .$r['kat'].  men jeg kan ikke få det til at virke når jeg sætter en while ind i en if
Avatar billede haolan Nybegynder
02. oktober 2005 - 16:04 #14
og ja jeg synes i skal dele :)
Avatar billede jaw Nybegynder
02. oktober 2005 - 16:07 #15
Nå ja, prøv at udskifte:
$kategori1 = mysql_result(mysql_query("SELECT * FROM kategori WHERE id = {$_POST['kategori']}"), 0);
til:
$kategori1 = mysql_result(mysql_query("SELECT kat FROM kategori WHERE id = {$_POST['kategori']}"), 0);
Avatar billede udvikler Nybegynder
02. oktober 2005 - 16:07 #16
Sorry, men kan ikke hjælpe videre, da jeg ikke helt forstår jaw's løsning :)
- men held og lykke med det ;)
Avatar billede jaw Nybegynder
02. oktober 2005 - 16:10 #17
Aco - Min løsning er ret tæt på din, bortset fra, at jeg i stedet for at chekke på == "" bruger isset() og empty(). I princippet det samme.
Avatar billede haolan Nybegynder
02. oktober 2005 - 16:10 #18
ahr.. det burde jeg have kunnet finde ud af selv :) Nå men nice så virker den da.. så mangler vi bare en svar fra -aco-
Avatar billede haolan Nybegynder
02. oktober 2005 - 16:11 #19
Tak for hjælpen begge to :)
Avatar billede jaw Nybegynder
02. oktober 2005 - 16:15 #20
Selv tak :)
Avatar billede udvikler Nybegynder
02. oktober 2005 - 16:24 #21
Selv tak, og tak for points :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester