Avatar billede kane Juniormester
04. december 2004 - 23:46 Der er 15 kommentarer og
1 løsning

nummer i db plus 17

Hej

Jeg har 2 numre jeg skal sætte i en db, det ene er feks 2101013872 og det andet er 2101017255. når jeg så trykker på indsæt, skal skal koden selv oprette alle de numre der er i mellem, med et spring på 17.

hvordan gør man det?
Avatar billede bojo Nybegynder
05. december 2004 - 00:05 #1
$fra = 2101013872;
$til = 2101017255;
for( $nr=$fra; $nr<=$til; $x+=17 ) {
  // hvad du nu vil lave med dem
}
Avatar billede schaefner Juniormester
05. december 2004 - 00:06 #2
Avatar billede kane Juniormester
05. december 2004 - 00:14 #3
ok, jeg fik vist sagt det lidt forkert.

De 2 tal er aldrig de samme, det er 2 felter jeg skal sætte ind i en db.
$fra=$row["Lownumber"];
$til=$row["Highnumber"];

kan jeg gøre sådan?
Avatar billede schaefner Juniormester
05. december 2004 - 00:14 #4
ja
Avatar billede kane Juniormester
05. december 2004 - 00:44 #5
ummm går ikke, min form har 2 boxe, Lownumber og Highnumber
de 2 skal jo sættes ind i samme felt i databaseb som hedder kortnummer.

altså
<form method="post" action="gemkort.php">

<input name="Lovnumber"  size="10">
<input name="Highnumber"  size="10">
</form>


gemkort.php

<?
require_once("class.php");
dhost::dbConn("xxxxxxxx");
$sql = "";
$offset = Lownumber;
$limit = Highnumber;
$gap = 17;

//print "<pre>";
for ($i=$offset; $i<=$limit; $i+=$gap) {
mysql_query("INSERT INTO gazell VALUES ($i) ") OR DIE (mysql_error()); <-----her mangler vist noget med hvilken felt den skal sættes ind i ikk?

    /* $sql .= "INSERT INTO tblName VALUES ($i)\n"; */
  // print "INSERT INTO tblName VALUES ($i)\n";
}
/* mysql_query($sql); */
//print "</pre>";
//print "<hr />";
//show_source(__FILE__);
?>
Avatar billede schaefner Juniormester
05. december 2004 - 01:01 #6
<form method="post" action="gemkort.php">
<input name="offset" size="10">
<input name="limit" size="10">
<input type="submit" value="Send">
</form>

[gemkort.php]

<?php
require_once("class.php");
dhost::dbConn("xxxxxxxx");

$sql = "";
$offset = $_POST['offset'];
$limit = $_POST['limit'];
$gap = 17;

for ($i=$offset; $i<=$limit; $i+=$gap) {
    $sql .= "INSERT INTO gazell VALUES ($i)\n";
}
mysql_query($sql) or die (mysql_error());
?>
Avatar billede kane Juniormester
05. december 2004 - 08:57 #7
schaefner.
Du sætter da de 2 <input name="offset" size="10">
<input name="limit" size="10">

ind i 2 forskellige felter, gør du ikk?

$offset = $_POST['offset'];
$limit = $_POST['limit'];
Avatar billede schaefner Juniormester
05. december 2004 - 10:05 #8
Jeg laver en variabel kaldet $offset med værdien fra $_POST['offset']. Det samme gør jeg med variablen $limit.
Avatar billede kane Juniormester
05. december 2004 - 10:10 #9
ja, men det skal jo kun gemmes i et felt, alle de numre den laver er jo kun fordi jeg ikke gider og lægge alle samme ind, så skulle den gøre det automatisk, feltet den skal gemme i hedder kortnumre.
Avatar billede schaefner Juniormester
05. december 2004 - 14:22 #10
Forstår ikke hvad du mener. Du angiver et start-tal og et slut-tal. Så finder PHP de mellemliggende tal og generere den SQL-kode der skal bruges. Derefter køres den i gennem mysql_query(). Er det ikke det du vil have den til?

<?php
require_once("class.php");
dhost::dbConn("xxxxxxxx");

$sql = "";
$offset = $_POST['offset']; // Disse variabler kommer fra formularen
$limit = $_POST['limit']; // Disse variabler kommer fra formularen
$gap = 17;

for ($i=$offset; $i<=$limit; $i+=$gap) {
  /* Den SQL-kode der skal bruges */
  $sql .= "INSERT INTO kortnumre VALUES ($i);\n";
}
mysql_query($sql) or die (mysql_error());
?>
Avatar billede schaefner Juniormester
05. december 2004 - 14:24 #11
$sql .= "INSERT INTO `gazell` (`kortnumre`) VALUES ($i);\n";
Avatar billede kane Juniormester
05. december 2004 - 15:41 #12
http://overskov.com/gazell/kortform.php

prøv at skrive 1 i den første og 698 i den sidste.

den skrive alle sammen ud, men hvis jeg smider i DB er det kun det sidste nummer der kommer
Avatar billede schaefner Juniormester
05. december 2004 - 15:59 #13
Det er fordi du hele tiden overskriver den forrige værdi. Du har tilsyneladene ikke brugt koden som jeg har skrevet det.

<?php
require_once("class.php");
dhost::dbConn("xxxxxxxx");

$sql = "";
$offset = $_POST['offset']; // Disse variabler kommer fra formularen
$limit = $_POST['limit']; // Disse variabler kommer fra formularen
$gap = 17;

for ($i=$offset; $i<=$limit; $i+=$gap) {
  /* Den SQL-kode der skal bruges */
  $sql .= "INSERT INTO `gazell` (`kortnumre`) VALUES ($i);\n";
}
print "<pre>".$sql."</pre>";

mysql_query($sql) or die (mysql_error());
?>
Avatar billede kane Juniormester
05. december 2004 - 16:05 #14
Denne her virker

kommer du med et svar
Takker for hjælpen

<?php
require_once("class.php");
dhost::dbConn("xxxxxxxx");

$sql = "";
$offset = $_POST['offset']; // Disse variabler kommer fra formularen
$limit = $_POST['limit']; // Disse variabler kommer fra formularen
$gap = 17;

for ($i=$offset; $i<=$limit; $i+=$gap) {
  $sql = "INSERT INTO gazell (kortnummer) VALUES ($i)";

mysql_query($sql) or die (mysql_error());
}

?>
Avatar billede schaefner Juniormester
05. december 2004 - 16:54 #15
Den burde ikke virke korrekt. Denne burde:

<?php
require_once("class.php");
dhost::dbConn("xxxxxxxx");

$sql = "";
$offset = $_POST['offset']; // Disse variabler kommer fra formularen
$limit = $_POST['limit']; // Disse variabler kommer fra formularen
$gap = 17;

for ($i=$offset; $i<=$limit; $i+=$gap) {
  $sql .= "INSERT INTO `gazell` (`kortnummer`) VALUES ($i);\n";

mysql_query($sql) or die (mysql_error());
}
?>

Med venlig hilsen
Jesper Sørensen
Avatar billede kane Juniormester
05. december 2004 - 17:04 #16
$sql .= "INSERT INTO `gazell` (`kortnummer`) VALUES ($i);\n";
denne her laver fejl, den kan ikke kalre de `gazell`
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