Avatar billede retake Nybegynder
13. november 2009 - 09:42 Der er 8 kommentarer og
1 løsning

auto increasement

Hej jeg vil lave et spørge skema i php og mySQL.
Men ved ikke hvordan jeg skal gøre så den auto increaser nogle felter.
Jeg har en database med et id felt og q1 til q19

Den skal så lave en side men spørgsmålene og svar felter.

<div style="width:100%;" align="center">
    <h3 style="border-bottom:3px #000 solid; color: #000;">Bruger oprettelse</h3>
<div style="width:100%" align="center">
    <form action="<? $_server['php_self']; ?>" method="post">
  <table width="450px" cellpadding="0" cellspacing="0" border="0">
  <?php
    $SQL = "SELECT * FROM osa_questions ORDER BY `id` DESC limit 1";
    $loadin = mysql_query($SQL) or die("There is an Error in the database");
    while ($Get = mysql_fetch_object($loadin)){
        $x = x+1; // her kom jeg så ikke vidre.
  ?>
    <tr>
      <td align="left"><?=$Get->q1?></td><!-- Her skal den så auto increase til den er ved q19 -->
      <td>
      <input style="width:300px;" type="text" name="a1" value=""><!-- Her skal den så auto increase til den er ved a19 -->
      </td>
    </tr>
    <? }?>
    <tr>
      <td colspan="2" align="center"><input type="submit" name="submit" value="Indsend spørgeskema" /></td>
    </tr>
  </table>
  </form>
</div>
</div>
Avatar billede repox Seniormester
13. november 2009 - 10:55 #1
Har du en række i din tabel, med et id og så 19 spørgsmål?
Avatar billede Slettet bruger
13. november 2009 - 11:16 #2
Er det fordi, du får fejl? Så kan det hænge sammen med denne linje:
$x = x+1;

Du skal have dollartegn foran alle dine variable:

$x = $x+1;
Avatar billede retake Nybegynder
13. november 2009 - 11:20 #3
--
-- Struktur-dump for tabellen `osa_question`
--

CREATE TABLE `osa_question` (
  `id` int(11) NOT NULL auto_increment,
  `q1` varchar(255) NOT NULL,
  `q2` varchar(255) NOT NULL,
  `q3` varchar(255) NOT NULL,
  `q4` varchar(255) NOT NULL,
  `q5` varchar(255) NOT NULL,
  `q6` varchar(255) NOT NULL,
  `q7` varchar(255) NOT NULL,
  `q8` varchar(255) NOT NULL,
  `q9` varchar(255) NOT NULL,
  `q10` varchar(255) NOT NULL,
  `q11` varchar(255) NOT NULL,
  `q12` varchar(255) NOT NULL,
  `q13` varchar(255) NOT NULL,
  `q14` varchar(255) NOT NULL,
  `q15` varchar(255) NOT NULL,
  `q16` varchar(255) NOT NULL,
  `q17` varchar(255) NOT NULL,
  `q18` varchar(255) NOT NULL,
  `q19` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
Avatar billede retake Nybegynder
13. november 2009 - 11:25 #4
Den skal bare selv lave dette.
<tr>
      <td align="left"><?=$Get->q1?></td><!-- Her skal den så auto increase til den er ved q19 -->
      <td>
      <textarea style="width:300px; height:100px;" name="a1"></textarea><!-- Her skal den så auto increase til den er ved a19 -->
      </td>
    </tr>
    <tr>
      <td align="left"><?=$Get->q2?></td><!-- Her skal den så auto increase til den er ved q19 -->
      <td>
      <textarea style="width:300px; height:100px;" name="a2"></textarea><!-- Her skal den så auto increase til den er ved a19 -->
      </td>
    </tr>

helt ned til q19

Og jeg ved ikke hvordan jeg gør. det jeg skrev med $x = $x+1; var bare et get hen af gaden. Ved ikke om det er sådan man gør. og kan ikke finde noget når jeg søger på nettet.
Avatar billede repox Seniormester
13. november 2009 - 11:32 #5


<div style="width:100%;" align="center">
    <h3 style="border-bottom:3px #000 solid; color: #000;">Bruger oprettelse</h3>
<div style="width:100%" align="center">
    <form action="<? $_server['php_self']; ?>" method="post">
  <table width="450px" cellpadding="0" cellspacing="0" border="0">
  <?php
      $x = 1;
    $SQL = "SELECT * FROM osa_questions ORDER BY `id` DESC limit 1";
    $loadin = mysql_query($SQL) or die("There is an Error in the database");
    while ($Get = mysql_fetch_assoc($loadin))
    {
   
          ?>
        <tr>
          <td align="left"><?php echo $Get["q".$x]; ?></td>
          <td>
          <input style="width:300px;" type="text" name="a<?php echo $x; ?>" value="">
          </td>
        </tr>
        <?
        $x++;
    }
    ?>
    <tr>
      <td colspan="2" align="center"><input type="submit" name="submit" value="Indsend spørgeskema" /></td>
    </tr>
  </table>
  </form>
</div>
</div>

Avatar billede retake Nybegynder
13. november 2009 - 11:41 #6
den viser kun 1 og ikke de sidste 18.
Avatar billede repox Seniormester
13. november 2009 - 11:47 #7
Sådan her, så...


<div style="width:100%;" align="center">
    <h3 style="border-bottom:3px #000 solid; color: #000;">Bruger oprettelse</h3>
<div style="width:100%" align="center">
    <form action="<? $_server['php_self']; ?>" method="post">
  <table width="450px" cellpadding="0" cellspacing="0" border="0">
  <?php
     
    $SQL = "SELECT * FROM osa_questions ORDER BY `id` DESC limit 1";
    $loadin = mysql_query($SQL) or die("There is an Error in the database");
    while ($Get = mysql_fetch_assoc($loadin))
    {
   
        for($x = 1; $x <= 19; $x++)
        {
          ?>
        <tr>
          <td align="left"><?php echo $Get["q".$x]; ?></td>
          <td>
          <input style="width:300px;" type="text" name="a<?php echo $x; ?>" value="">
          </td>
        </tr>
        <?
        }
    }
    ?>
    <tr>
      <td colspan="2" align="center"><input type="submit" name="submit" value="Indsend spørgeskema" /></td>
    </tr>
  </table>
  </form>
</div>
</div>

Avatar billede retake Nybegynder
13. november 2009 - 11:52 #8
Yepper :o) det virker rigtig fint.

Har lavet et extra lille tjek så den fjernet alle de tomme felter ^^

Tusinde tak.

<div style="width:100%;" align="center">
    <h3 style="border-bottom:3px #000 solid; color: #000;">Sp&oslash;rgeskema</h3>
<div style="width:100%" align="center">
    <form action="<? $_server['php_self']; ?>" method="post">
  <input type="hidden" name="do" value="new">
  <table width="550px" cellpadding="0" cellspacing="0" border="0">
  <?php
    $x = 1;
        $SQL = "SELECT * FROM osa_question ORDER BY `id` DESC limit 1";
        $loadin = mysql_query($SQL) or die("There is an Error in the database");
        while ($Get = mysql_fetch_assoc($loadin)){
        for($x = 1; $x <= 19; $x++){
        if(!empty($Get["q".$x])){
    ?>
    <tr>
    <td align="left"><?php echo $Get["q".$x]; ?></td>
      <td>
      <textarea style="width:300px; height:100px;" name="a<?php echo $x; ?>"></textarea>
      </td>
    </tr>
    <? }}}?>
    <tr>
      <td colspan="2" align="center"><br><br><input type="submit" name="submit" value="Indsend sp&oslash;rgeskema" /></td>
    </tr>
  </table>
  </form>
</div>
</div>
Avatar billede repox Seniormester
13. november 2009 - 12:04 #9
Det var skam så lidt.
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