Avatar billede shuffle Nybegynder
17. marts 2010 - 16:17 Der er 2 kommentarer

Mysql forespørgsel

Hej Derude

Jeg sidder med noget forholdsvis simpelt php, og vil gerne have et tip til at implementere noget kode i det jeg i forvejen har lavet.

Jeg har en formel, hvor der bliver indtastet noget data. Herefter vil jeg gerne have den samtidig tjekker om dataen allerede ligger i databasen.

Koden:

<?php


mysql_connect("server", "domain", "pw") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());

$dato = date('d/m-Y');


if($_POST['Submit'])
{
$serienr = $_POST['serienr'];
$dato = $_POST['dato'];
}

mysql_query("INSERT INTO vare (serienr,dato) VALUES ('$serienr','$dato')");

?>



<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="tilfoj" method="get" action="<? print $_SERVER['PHP_SELF'];?> ">
  <input type="text" name="serienr">
  <input value="<?php echo $dato ?>" type="hidden" name="dato">
  <input type="submit" name="Tilføj vare" value="Submit"> 
</form>


<p><a href="index.php">< klik her for at gå tilbage</a>
  <br>
  <br>

  <?php $query = mysql_query("SELECT * FROM vare ORDER BY id DESC LIMIT 30");
while($row = mysql_fetch_assoc($query))
{
    echo $row['id'] . " - " . $row['serienr'] . " - " . $row['dato'] . "<br/>";
}
?>


Jeg vil gerne gøre sådan, at den tjekker for rækken "serienr" når man tilføjer noget nyt, altså den skal tjekke om det man indtaster allerede ligger i rækken "serienr".

Hvordan skal jeg få det sat ind i koden?

MVH
Martin
Avatar billede cytox Nybegynder
17. marts 2010 - 16:33 #1
Hej,

Du kan bare lave en SELECT på det id der lige er blevet indtastet,
og så se om det lykkedes at hente noget fra databasen via det id.
noget ala:

$DBResult = mysql_query("SELECT dato FROM vare WHERE serienr = ".$serienr);

if(mysql_fetch_assoc($DBResult))    //hvis det lykkedes
{
    Print "Findes allerede";
}

Er ikke så vandt til mysql, mere sqlite så sorry hvis det ikke funger 100% men nu har du ideén. men det burde det :)

Mvh.
Avatar billede cytox Nybegynder
17. marts 2010 - 16:40 #2
hovsa, glemte hvordan man sætter det ind i din kode...
Det vil være mit umiddelbare gæt :)

<?php


mysql_connect("server", "domain", "pw") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());

$dato = date('d/m-Y');


if($_POST['Submit'])
{
    $serienr = $_POST['serienr'];
    $dato = $_POST['dato'];
   
    $DBResult = mysql_query("SELECT dato FROM vare WHERE serienr = ".$serienr);
    if(mysql_fetch_assoc($DBResult))    //hvis det lykkedes (serienr'et findes)
    {
        Print "Findes allerede";
    }
    else    //hvis det ikke lykkedes (serienr'et findes ikke)
    {
        mysql_query("INSERT INTO vare (serienr,dato) VALUES ('$serienr','$dato')");
    }
}

?>



<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="tilfoj" method="get" action="<? print $_SERVER['PHP_SELF'];?> ">
    <input type="text" name="serienr">
    <input value="<?php echo $dato ?>" type="hidden" name="dato">
    <input type="submit" name="Tilføj vare" value="Submit"> 
</form>


<p><a href="index.php">< klik her for at gå tilbage</a>
<br>
<br>

<?php

$query = mysql_query("SELECT * FROM vare ORDER BY id DESC LIMIT 30");
while($row = mysql_fetch_assoc($query))
{
    echo $row['id'] . " - " . $row['serienr'] . " - " . $row['dato'] . "<br/>";
}

?>
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
Kurser inden for grundlæggende programmering

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