Avatar billede tfswebguy Nybegynder
09. juni 2004 - 02:46 Der er 16 kommentarer og
3 løsninger

Indsætte samme data det skrevne antal gange i database

Jaah,
hvis jeg har en form, med et felt der hedder "navn" og et felt der hedder "antal", vil jeg gerne have den til at indsætte "navn" de gange som jeg nu skriver i "antal"
Det skal gemmes i en MySQL database, hvis det har noed at sige.

Håber i forstår spørgsmålet, og der kommer et hurtigt svar
Avatar billede Slettet bruger
09. juni 2004 - 02:56 #1
Skal "navn" indsættes i samme kolonne i SQL databasen det gange, antal siger?

Eller skal der laves en ny række i databasen, der bare indeholder det samme navn?
Avatar billede tfswebguy Nybegynder
09. juni 2004 - 03:01 #2
Hmm... anden forklaring på det :o)

Min SQL database før:
---------------------
id | navn
#1  noed

// "data" == noed andet
// "antal" == 3
- indsæt noed andet, 3 gange

Min database efter:
-------------------
id | navn
#1  noed
#2  noed andet
#3  noed andet
#4  noed andet

Dårlig måde at forklare det på, men jeg er træt, og vil bare have det script i orden, før jeg går i seng :o)
Avatar billede Slettet bruger
09. juni 2004 - 03:11 #3
Jeg tror det skal være noget lignende:

<form action="<?php $_SERVER["PHP_SELF"]; ?>" method="post" name="antalform" id="antalform">
  Navn
  <input name="antal" type="text" id="antal">
  Antal
  <input name="antal" type="text" id="antal">
  <input type="submit" name="Submit" value="Submit">
</form>

<?php
$db = mysql_connect ('localhost','user','password');
mysql_select_db ('database',$db);

$table = "database";
if($_POST["Submit"] == "Submit") {

    for($i=0; $i > $antal; $i++)
        $qryInsert = "INSERT INTO $table (kolonne) VALUES('" . $_POST["topic"] . "')";
        mysql_query($qryInsert) OR DIE(mysql_error());
    }
}
?>
Avatar billede Slettet bruger
09. juni 2004 - 03:12 #4
Hov:

<form action="<?php $_SERVER["PHP_SELF"]; ?>" method="post" name="antalform" id="antalform">
  Navn
  <input name="navn" type="text" id="antal">
  Antal
  <input name="antal" type="text" id="antal">
  <input type="submit" name="Submit" value="Submit">
</form>

<?php
$db = mysql_connect ('localhost','user','password');
mysql_select_db ('database',$db);

$table = "database";
if($_POST["Submit"] == "Submit") {

    for($i=0; $i > $antal; $i++)
        $qryInsert = "INSERT INTO $table (kolonne) VALUES('" . $_POST["navn"] . "')";
        mysql_query($qryInsert) OR DIE(mysql_error());
    }
}
?>
Avatar billede jaw Nybegynder
09. juni 2004 - 09:17 #5
skal det ikke være:

for($i=0; $i =< $antal; $i++)
?
Avatar billede prec Nybegynder
09. juni 2004 - 10:31 #6
nej for($i=0; $i > $antal; $i++), prøv at tæl
første gang er i = 0, anden gang er i = 1, tredje gang er i = 3, dvs 3 gange som den skal.
$i <= $antal giver 4 loops.
Avatar billede prec Nybegynder
09. juni 2004 - 10:32 #7
hov tredje gang er i self = 2 :P
Avatar billede jaw Nybegynder
09. juni 2004 - 10:40 #8
tjah, tjoh... meeeen, $i > $antal, så kører du da kun løkken, når $i er større end $antal?
Avatar billede martinbk Nybegynder
09. juni 2004 - 10:48 #9
<form method="post" name="form">
  Navn
  <input name="navn" type="text">
  Antal
  <input name="antal" type="text">
  <input type="submit" name="Submit" value="Submit">
</form>

<?
mysql_select_db("databasenavn",mysql_connect('localhost','user','password'));

if(isset($_POST['Submit'])) {

    for($i=1;$i<=$antal;$i++)
        if(mysql_query("INSERT INTO tabel (navn) VALUES('" . $_POST["navn"] . "')) {
          echo 'success';
        } else {
      echo 'Fejl: '.mysql_error();
        }
       
    }
}
?>

ovenstående er aldeles utestet men burde virke
Avatar billede jaw Nybegynder
09. juni 2004 - 10:54 #10
Martinbk er da vist også enig med mig...
Avatar billede martinbk Nybegynder
09. juni 2004 - 11:00 #11
kunne ikke være mere enig, at initialisere i til 0 og derefter sætte en boolsk betingelse som forudsætter at i er større en antal, med lidt logisk tænkning bliver et antal aldrig negativt, og dermed bliver i aldrig større end antal
Avatar billede jaw Nybegynder
09. juni 2004 - 11:04 #12
just præcis :)
Avatar billede Slettet bruger
09. juni 2004 - 11:10 #13
Nåja, det er jo klart... beklager min trætte logik :)
Avatar billede jaw Nybegynder
09. juni 2004 - 11:11 #14
hehe, no problemo... Blev bare helt nervøs for, at det var mig der var kogt over et øjeblik :)
Avatar billede tfswebguy Nybegynder
10. juni 2004 - 05:57 #15
LOOOL, hvorfor skrev i ikk bare jeg skulle indsætte:

for($i=1;$i<=$antal;$i++)

ovenover mysql_query'en?
hehe...

Mange tak.. point's bliver delt mellem jer
Avatar billede tfswebguy Nybegynder
10. juni 2004 - 05:57 #16
hmm, hvis i ellers gider at smide svar :o)
Avatar billede martinbk Nybegynder
10. juni 2004 - 06:48 #17
tja ved ikke om du mener mig, men jeg tillader mig at smide et svar
Avatar billede jaw Nybegynder
10. juni 2004 - 08:03 #18
Citat mig selv:
  skal det ikke være:
  for($i=0; $i =< $antal; $i++)
  ?

Så det mener jeg da jeg skrev :) Ved heller ikke hvordan du vil dele, men nu har du også et svar fra mig...
Avatar billede Slettet bruger
10. juni 2004 - 10:38 #19
Tak. :)
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