Avatar billede tras Juniormester
18. december 2008 - 20:53 Der er 6 kommentarer og
1 løsning

Get med variable? hvordan

Hej jeg har 2 tables i min database og som i kan se så har jeg en $nr som skal hente alle de varenr som er i den ene database og så skal den sige at den skal havde $_Get->buy_$nr det nr fra den anden database.

Sjovt nok virker mit forsøg ikke kan i hjælpe med at få det til at virke?

  <?
        $SQL = "SELECT * FROM buy, items";
        $loadin = mysql_query($SQL) or die("There is an Error in the database");
        while ($Get = mysql_fetch_object($loadin)){
        $nr = '"'.$Get->items_varenr.'"'
    ?>
  <tr>
    <td><label>
      <div align="center"><?=$Get->items_varenr?>.</div>
    </label></td>
    <td><label><?=$Get->items_navn?></label></td>
    <td><?=$Get->items_pris?></td>
    <td><div align="center">
      <input style="width:20px;" maxlength="2" value="<?=$Get->buy_.$nr.?>" name="<?=$Get->items_varenr?>" type="text" lang="da">
    </div></td>
  </tr>
Avatar billede jakobdo Ekspert
18. december 2008 - 21:32 #1
Det var godt nok dårligt forklaret.
Kan du prøve igen ?
evt. vis lidt data eller bare struktur fra dine 2 tabeller.
Avatar billede tras Juniormester
18. december 2008 - 21:39 #2
Jo jeg har 2 tables i min database nemlig buy og items.
I items er der de vare som man kan sælge.
I buy er der inde om hvor mange af vær ting de har købt.

Nu er det sådan at jeg gerne vi lave en liste så dem der skal pakke ordren kan se hvad der er bestilt.

Så det jeg havde tænkt var at jeg lavede sådan en $nr = '"'.$Get->items_varenr.'"'
og så i mit indput felt denne <?=$Get->buy_'$nr'?> så den henter info fra den anden database og så det nr som passer til!

<?
    $SQL = "SELECT * FROM buy, items";
    $loadin = mysql_query($SQL) or die("There is an Error in the database");
    while ($Get = mysql_fetch_object($loadin)){
?>
<fieldset>
  <label>Navn:</label>
  <?=$Get->buy_name?><br />
 
  <label>Adresse:</label>
  <?=$Get->buy_address?> - <?=$Get->buy_postnr?> <?=$Get->buy_city?><br />
 
  <label>Tlf:</label>
  <?=$Get->buy_tlf?><br />
 
  <label>Email:</label>
  <?=$Get->buy_email?><br />
 
  <label>Adhentning:</label>
  <?=$Get->buy_afhentning?><br />
</fieldset>

<table width="100%" border="0">
  <tr>
    <td style="border-bottom:1px black solid;" width="50px">Varenr.</td>
    <td style="border-bottom:1px black solid;">Navn</td>
    <td style="border-bottom:1px black solid;" width="50px">Pris</td>
    <td style="border-bottom:1px black solid;" width="40px">Antal</td>
  </tr>
  <?
        $SQL = "SELECT * FROM buy, items";
        $loadin = mysql_query($SQL) or die("There is an Error in the database");
        while ($Get = mysql_fetch_object($loadin)){
        $nr = $Get->items_varenr;
    ?>
  <tr>
    <td><label>
      <div align="center"><?=$Get->items_varenr?>.</div>
    </label></td>
    <td><label><?=$Get->items_navn?></label></td>
    <td><?=$Get->items_pris?></td>
    <td><div align="center">
      <input style="width:20px;" maxlength="2" value="<?=$Get->buy_'$nr'?>" name="<?=$Get->items_varenr?>" type="text" lang="da">
    </div></td>
  </tr>
<? }}?>


buy database kan der dannes et overblik her ud fra
$buy_name = $_POST['name'];
    $buy_address = $_POST['address'];
    $buy_postnr = $_POST['postnr'];
    $buy_city = $_POST['city'];
    $buy_tlf = $_POST['tlf'];
    $buy_email = $_POST['email'];
    $buy_afhentning = $_POST['afhentning'];
    $buy_1 = $_POST['1'];
    $buy_2 = $_POST['2'];
    $buy_3 = $_POST['3'];
    $buy_4 = $_POST['4'];
    $buy_5 = $_POST['5'];
    $buy_6 = $_POST['6'];
    $buy_7 = $_POST['7'];
    $buy_8 = $_POST['8'];
    $buy_9 = $_POST['9'];
    $buy_10 = $_POST['10'];
    $buy_11 = $_POST['11'];
    $buy_12 = $_POST['12'];
    $buy_13 = $_POST['13'];
    $buy_14 = $_POST['14'];
    $buy_15 = $_POST['15'];
    $buy_16 = $_POST['16'];
    $buy_17 = $_POST['17'];
    $buy_18 = $_POST['18'];
    $buy_19 = $_POST['19'];
    $buy_20 = $_POST['20'];
    $buy_21 = $_POST['21'];
    $buy_22 = $_POST['22'];
    $buy_23 = $_POST['23'];
    $buy_24 = $_POST['24'];
    $buy_25 = $_POST['25'];
    $buy_26 = $_POST['26'];
    $buy_27 = $_POST['27'];
    $buy_28 = $_POST['28'];
    $buy_A = $_POST['A'];
    $buy_B = $_POST['B'];
Avatar billede tras Juniormester
18. december 2008 - 21:41 #3
Her er min bestillings side hvis det hjælper

<style type="text/css">
<!--
.style1 {color: #FF0000}
-->
</style>
<?
if($_POST['do'] == "buy"){
    $buy_name = $_POST['name'];
    $buy_address = $_POST['address'];
    $buy_postnr = $_POST['postnr'];
    $buy_city = $_POST['city'];
    $buy_tlf = $_POST['tlf'];
    $buy_email = $_POST['email'];
    $buy_afhentning = $_POST['afhentning'];
    $buy_1 = $_POST['1'];
    $buy_2 = $_POST['2'];
    $buy_3 = $_POST['3'];
    $buy_4 = $_POST['4'];
    $buy_5 = $_POST['5'];
    $buy_6 = $_POST['6'];
    $buy_7 = $_POST['7'];
    $buy_8 = $_POST['8'];
    $buy_9 = $_POST['9'];
    $buy_10 = $_POST['10'];
    $buy_11 = $_POST['11'];
    $buy_12 = $_POST['12'];
    $buy_13 = $_POST['13'];
    $buy_14 = $_POST['14'];
    $buy_15 = $_POST['15'];
    $buy_16 = $_POST['16'];
    $buy_17 = $_POST['17'];
    $buy_18 = $_POST['18'];
    $buy_19 = $_POST['19'];
    $buy_20 = $_POST['20'];
    $buy_21 = $_POST['21'];
    $buy_22 = $_POST['22'];
    $buy_23 = $_POST['23'];
    $buy_24 = $_POST['24'];
    $buy_25 = $_POST['25'];
    $buy_26 = $_POST['26'];
    $buy_27 = $_POST['27'];
    $buy_28 = $_POST['28'];
    $buy_A = $_POST['A'];
    $buy_B = $_POST['B'];
    mysql_query("INSERT INTO buy (
    buy_name,
    buy_address,
    buy_postnr,
    buy_city,
    buy_tlf,
    buy_email,
    buy_afhentning,
    buy_1,
    buy_2,
    buy_3,
    buy_4,
    buy_5,
    buy_6,
    buy_7,
    buy_8,
    buy_9,
    buy_10,
    buy_11,
    buy_12,
    buy_13,
    buy_14,
    buy_15,
    buy_16,
    buy_17,
    buy_18,
    buy_19,
    buy_20,
    buy_21,
    buy_22,
    buy_23,
    buy_24,
    buy_25,
    buy_26,
    buy_27,
    buy_28,
    buy_A,
    buy_B
    ) VALUES (
    '$buy_name',
    '$buy_address',
    '$buy_postnr',
    '$buy_city',
    '$buy_tlf',
    '$buy_email',
    '$buy_afhentning',
    '$buy_1',
    '$buy_2',
    '$buy_3',
    '$buy_4',
    '$buy_5',
    '$buy_6',
    '$buy_7',
    '$buy_8',
    '$buy_9',
    '$buy_10',
    '$buy_11',
    '$buy_12',
    '$buy_13',
    '$buy_14',
    '$buy_15',
    '$buy_16',
    '$buy_17',
    '$buy_18',
    '$buy_19',
    '$buy_20',
    '$buy_21',
    '$buy_22',
    '$buy_23',
    '$buy_24',
    '$buy_25',
    '$buy_26',
    '$buy_27',
    '$buy_28',
    '$buy_A',
    '$buy_B'
    )") or die (Java::Alert("MySQL Error: ".mysql_error()));
    Java::Alert("Din bestilling er modtaget.'".$total1."'");
    Java::GoToURL("index.php");
}
?>
<form action="<? $_server['php-self']?>" method="post">
  <input type="hidden" name="do" value="buy">
<table width="100%" border="0">
   
  <tr>
    <td style="border-bottom:1px black solid;" width="50px">Varenr.</td>
    <td style="border-bottom:1px black solid;">Navn</td>
    <td style="border-bottom:1px black solid;" width="50px">Pris</td>
    <td style="border-bottom:1px black solid;" width="40px">Antal</td>
  </tr>
    <?php
    $SQL = "SELECT * FROM items WHERE items_type = 'normal' ORDER BY `items_id` limit 50";
    $loadin = mysql_query($SQL) or die("Der er for mange brugere på systemet lige nu, prøv igen senere.");
    while ($Get = mysql_fetch_object($loadin)){
  ?>
  <tr>
    <td><label>
      <div align="center"><?=$Get->items_varenr?>.</div>
    </label></td>
    <td><label><?=$Get->items_navn?></label> <a target="_blank" href="images/fireworks/<?=$Get->items_varenr?>.jpg">Se billede</a> <span class="style1">(<?=$Get->items_lager?>)</span></td>
    <td><?=$Get->items_pris?></td>
    <td><div align="center">
        <input name="pris_<?=$Get->items_varenr?>" type="hidden" lang="da">
        <? if($Get->items_lager == "udsolgt"){?>
      <input style="width:20px;" maxlength="2" disabled="disabled" name="<?=$Get->items_varenr?>" type="text" lang="da">
      <? }else{?>
      <input style="width:20px;" maxlength="2" name="<?=$Get->items_varenr?>" type="text" lang="da">
      <? }?>
    </div></td>
  </tr>
  <? }?>
  <tr>
    <td colspan="4" style="border-bottom:1px black dashed;border-top:1px black dashed;" bgcolor="#FFFF33" align="center">Specialtilbud</td>
  </tr>
  <?php
    $SQL = "SELECT * FROM items WHERE items_type = 'special' ORDER BY `items_id` limit 50";
    $loadin = mysql_query($SQL) or die("Der er for mange brugere på systemet lige nu, prøv igen senere.");
    while ($Get = mysql_fetch_object($loadin)){
  ?>
  <tr>
    <td><label>
      <div align="center"><?=$Get->items_varenr?>.</div>
    </label></td>
    <td><label><?=$Get->items_navn?></label> <a target="_blank" href="images/fireworks/<?=$Get->items_varenr?>.jpg">Se billede</a> <span class="style1">(<?=$Get->items_lager?>)</span></td>
    <td><?=$Get->items_pris?></td>
    <td><div align="center">
        <input name="pris_<?=$Get->items_varenr?>" type="hidden" lang="da">
      <? if($Get->items_lager == "udsolgt"){?>
      <input style="width:20px;" maxlength="2" disabled="disabled" name="<?=$Get->items_varenr?>" type="text" lang="da">
      <? }else{?>
      <input style="width:20px;" maxlength="2" name="<?=$Get->items_varenr?>" type="text" lang="da">
      <? }?>
    </div></td>
  </tr>
  <? }?>
  <tr>
    <td colspan="4" style="border-bottom:1px black dashed;border-top:1px black dashed;" bgcolor="#FFFF33" align="center">Kunde oplysninger</td>
  </tr>
</table>
<table border="0" align="center">
    <tr>
      <td colspan="2" style="border-bottom:1px black dashed;">Vi skal bruge nogle oplysninger for at kunne oprette din bestilling.<br>Alle felter med * skal udfyldes.</td>
  </tr>
  <tr>
      <td>Fulde Navn:</td>
    <td><input name="name" type="text" lang="da" size="50">*</td>
  </tr>
  <tr>
      <td>Adresse:</td>
    <td><input name="address" type="text" lang="da" size="50">*</td>
  </tr>
  <tr>
      <td>Post nr:</td>
    <td><input name="postnr" type="text" lang="da" size="50">*</td>
  </tr>
  <tr>
      <td>By:</td>
    <td><input name="city" type="text" lang="da" size="50">*</td>
  </tr>
  <tr>
      <td>Mobil/Telefon:</td>
    <td><input name="tlf" type="text" lang="da" size="50" maxlength="8">*</td>
  </tr>
  <tr>
      <td>E-mail:</td>
    <td><input name="email" type="text" lang="da" size="50">*</td>
  </tr>
  <tr>
      <td>Afhentning:</td>
    <td>
    <select name="afhentning" lang="da">
      <option value="26-dec-2008">Fredag D. 26 dec 2008</option>
      <option value="27-dec-2008">Mandag D. 27 dec 2008</option>
      <option value="28-dec-2008">Tirsdag D. 28 dec 2008</option>
      <option value="29-dec-2008">Onsdag D. 29 dec 2008</option>
      <option value="30-dec-2008">Torsdag D. 30 dec 2008</option>
      <option value="31-dec-2008">Fredag D. 31 dec 2008</option>
    </select>*</td>
  </tr>
  <tr>
      <td colspan="2" align="center" ><input type="submit" value="Bestil" name="submit" /></td>
  </tr>
</table>
</form>
Avatar billede jakobdo Ekspert
18. december 2008 - 21:43 #4
Crap, det var meget kode.
Kan du prøve kort at forklare problemet? :o)
Avatar billede erikjacobsen Ekspert
18. december 2008 - 22:42 #5
Jeg har ikke kigget din kode igennem, men den her er bestemt forkert:

$SQL = "SELECT * FROM buy, items";

Du skal læse op på SQL og joins.
Avatar billede fant0mas Nybegynder
18. december 2008 - 23:30 #6
Haha, den database struktur er god humor. Jeg foreslår du læser lidt op på database relationer istedet. Nu er der jo alligevel juleferie og tid til det.. :o)
Avatar billede coderdk Praktikant
19. december 2008 - 08:35 #7
heheh yeah normalisering og en-til-mange ;)
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