if($_POST['titel']){ mysql_query("insert into dvd(titel, genre, bemaerk, aar, arkivnummer,) value('".$_POST['titel']."','".$_POST['genre']."','".$_POST['bemaerk']."','".$_POST['aar']."','".$_POST['arkivnummer']."') or die (mysql_error()); }
if($_POST['titel']){ mysql_query("insert into dvd(titel, genre, bemaerk, aar, arkivnummer,) values('".$_POST['titel']."','".$_POST['genre']."','".$_POST['bemaerk']."','".$_POST['aar']."','".$_POST['arkivnummer']."') or die (mysql_error());
if($_POST['titel']){ mysql_query("insert into dvd(titel, genre, bemaerk, aar, arkivnummer)". "value('".$_POST['titel']."','".$_POST['genre']."','".$_POST['bemaerk']."','".$_POST['aar']."','".$_POST['arkivnummer']."')") or die (mysql_error()); }
Det med at give en bsked. Som det er lige nu vil der komme felj besked hvis den fejler og det er den fejl besked som mysql kommer med pga.
or die (mysql_error());
Der findes en funktion som kan bruges til at de hvor mange rows er berørt: mysql_affected_rows() og hvis du så fjerne or die (mysql_error()); så skirve den en "pæn" tekst det gik ikke godt. Men or die (mysql_error()); er rigtig god at havde på når man laver koden for den skriver hvad der gik galt i ens SQL sætning.
if($_POST['titel']){ mysql_query("insert into dvd(titel, genre, bemaerk, aar, arkivnummer)". "value('".$_POST['titel']."','".$_POST['genre']."','".$_POST['bemaerk']."','".$_POST['aar']."','".$_POST['arkivnummer']."')") or die (mysql_error());
if (mysql_affected_rows() > 0) { echo "DVD'en er tilføjet.<br>"; } else { echo "Der skete en fejl prøv igen!.<br>"; } } mysql_close($conn); ?>
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'value('Titel','Genre','Bemærk','År','000')' at line 1
Nu glemte jeg det s i values :) prøv lige at rette disse to:
mysql_query("insert into dvd(titel, genre, bemaerk, aar, arkivnummer)". "value('".$_POST['titel']."','".$_POST['genre']."','".$_POST['bemaerk']."','".$_POST['aar']."','".$_POST['arkivnummer']."')") or die (mysql_error());
Til:
mysql_query("insert into dvd(titel, genre, bemaerk, aar, arkivnummer)". "values ('".$_POST['titel']."','".$_POST['genre']."','".$_POST['bemaerk']."','".$_POST['aar']."','".$_POST['arkivnummer']."')") or die (mysql_error());
Jeps, så virker det! Og hvis jeg så må være så besværlig at spørge om en sidste ting.. :) Findes der en eller anden "count-funktion" i php? Jeg vil gerne have skrevet hvor mange poster der er i tabellen. Ligeledes hvor mange af posterne der fx indeholder "Action" i feltet "Genre"...
//Tæl total antal $res = mysql_query("select count(*) as antal from dvd"); $row = mysql_fetch_row($res); echo "Databasen indeholder ".$row['antal']." DVD film:<br>"; //Tæl hver genre $res = mysql_query("select count(*) as antal, genre from dvd group by genre"); while ($row = mysql_fetch_row($res)) { echo " - ".$row['antal']." ".$row['genre']."<br>"; }
Jeg forstår ikke helt metoden du bruger for at tælle hver genre. Tabellen indeholder et felt der hedder "genre". I det felt står der enten action, drama, gyser o.s.v. Skal man ikke sige noget ala hvor mange felter der indeholder ordet "action"..?
ok ja det er det samme: $row = mysql_fetch_row($res); Til: $row = mysql_fetch_array($res);
Hvis du kun vil tælle hvor mange "action" fil der er skal man bruge WHERE genre = 'action'
men hvis du vil havde count'et for hver "type" genre bruger man groub by og så det kolonnenavn der skal grupperes som er genre. Når man så udføre en count funktion tæller den antal af hver "type" i genre "action"/"drame"..
OK! så lige et sidste spørgsmål. Jeg har også et felt der hedder "udlaan". Hvis en film er udlånt vil der stå et navn i dette felt. Kan man tælle hvor mange felter der har indhold?
$res = mysql_query("select count(*) as udlaan from dvd where udlaan is not null"); while ($row = mysql_fetch_array($res)) { echo " Udlaant: ".$row['udlaan']."<br>";
denne giver problemer... der vises kun en hvid side. Jeg har også prøvet uden while
Så fik jeg det til at virke. Jeg lukkede forbindelsen til databasen og lavede en ny. Her skrev jeg:
$res2 = mysql_query("select count(*) as nh from dvd where udlaan is not null"); while ($row2 = mysql_fetch_array($res2)) { echo "<br>Heraf er <b>".$row2['nh']."</b> udlånt i øjeblikket.<br>";
}
Og det virker. Tak for hjælpen !
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.