Avatar billede fritter Nybegynder
17. november 2002 - 12:18 Der er 35 kommentarer og
1 løsning

Læg 2 eller flere tal sammen

Hejsa. Jeg er igang med at simulere et hotel, hvor det er muligt for brugerne at se leje film over lokal netværket. Jeg har oprettet en MySQL database, hvor jeg har "vaerelse","dato/tid","pris" og "ydelse". Hvis nu en bruger ser flere film i løbet af et ophold, så skal den samlede pris skrives udskrives. Grundideen er, at man fra receptionens side, skal kunne skrive værelses nummeret i et textfelt og derefter se hvilke film brugeren har set, hvornår han har set dem og hvad de koster stykket. Derefter trykker de på en knap "Udskriv" og derefter kommer den samlede regning for det pågældende værelse. Jeg har fået lavet det meste, men jeg mangler at få lavet funktionen der udskriver det samlede beløb. Er der nogen som lige gider kaste et blik på min kode, og fortælle mig hvor fejlen er?
Desuden har jeg sikret mig, at alt er skrevet med småt i databasen, såvel som i kildekoden.
Hele mit problem tror jeg bunder i funktionen '$query' eller '%$query%'. Hvis jeg ændrer den til f.eks værelse 100, så virker det fint.

<html>
<body>

<?
if($soeg){

    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("Account",$db);

    $foresp = mysql_query("SELECT * FROM hotel WHERE vaerelse = '$query'");
 
    echo mysql_num_rows($foresp)." Resultat(er) fundet<BR><BR>";

    while($data=mysql_fetch_array($foresp)){
      echo "Værelse    : $data[0]<BR>";
      echo "Dato og Tid : $data[1]<BR>";
      echo "Pris i kr.  : $data[2]<BR>";
      echo "Ydelse      : $data[3]<BR><BR><BR>";
    }
    echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>\t";
        echo "<INPUT TYPE=HIDDEN VALUE=$query>";
        echo "<INPUT TYPE=SUBMIT NAME=Slet VALUE=Slet>\t";
    echo "<INPUT TYPE=SUBMIT NAME=Print VALUE=Udskriv>";

//---------------------------------------------------------------------- 
//---------------------SLETNING AF DATABASE-----------------------------
//---------------------------------------------------------------------- 

  }elseif ($Slet) {
   
    $db = mysql_connect("127.0.0.1", "root");
        mysql_select_db("Account",$db);
     
    echo "Databasen er nu slettet";
   
   
      echo "<FORM METHOD=POST ACTION=$PHP_SELF>";   
      echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>";

    mysql_query("DELETE FROM hotel WHERE vaerelse = '$query'");

//----------------------------------------------------------------------
//-----------------Udskrivning af det samlede beløb---------------------
//----------------------------------------------------------------------
 
}elseif ($Print){
      $db = mysql_connect("127.0.0.1", "root");
        mysql_select_db("Account",$db);

$result=mysql_query("SELECT SUM(pris) AS samlet FROM hotel WHERE vaerelse = '$query'");
$row=mysql_fetch_array($result);

echo $row["samlet"];


echo "<INPUT TYPE=SUBMIT NAME=Print VALUE=Print Onclick=print()>";
echo "<FORM METHOD=POST ACTION=$PHP_SELF>";   
echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>";   


//----------------------------------------------------------------------

}else{
?>
    <FORM METHOD=POST ACTION=<?echo $PHP_SELF;?>>
      Indtast Værelses Nummer
      <INPUT TYPE=TEXT  NAME="query">
      <INPUT TYPE=SUBMIT NAME="soeg" VALUE=Søg>
      <INPUT TYPE=Reset  VALUE=Nulstil>
    </FORM>
<?
  }
?>     
  </body>
</html>
Avatar billede mjl Nybegynder
17. november 2002 - 12:28 #1
He he - du mangler jo nogle </FORM> for at slutte de andre formularer!!!
Avatar billede mjl Nybegynder
17. november 2002 - 12:30 #2
SÅDAN:

<html>
<body>

<?
if($soeg){

    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("Account",$db);

    $foresp = mysql_query("SELECT * FROM hotel WHERE vaerelse = '$query'");
 
    echo mysql_num_rows($foresp)." Resultat(er) fundet<BR><BR>";

    while($data=mysql_fetch_array($foresp)){
      echo "Værelse    : $data[0]<BR>";
      echo "Dato og Tid : $data[1]<BR>";
      echo "Pris i kr.  : $data[2]<BR>";
      echo "Ydelse      : $data[3]<BR><BR><BR>";
    }
    echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>\t";
        echo "<INPUT TYPE=HIDDEN VALUE=$query>";
        echo "<INPUT TYPE=SUBMIT NAME=Slet VALUE=Slet>\t";
    echo "<INPUT TYPE=SUBMIT NAME=Print VALUE=Udskriv>";
    echo "</form>";

//---------------------------------------------------------------------- 
//---------------------SLETNING AF DATABASE-----------------------------
//---------------------------------------------------------------------- 

  }elseif ($Slet) {
   
    $db = mysql_connect("127.0.0.1", "root");
        mysql_select_db("Account",$db);
     
    echo "Databasen er nu slettet";
   
   
      echo "<FORM METHOD=POST ACTION=$PHP_SELF>";   
      echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>";
      echo "</form>";

    mysql_query("DELETE FROM hotel WHERE vaerelse = '$query'");

//----------------------------------------------------------------------
//-----------------Udskrivning af det samlede beløb---------------------
//----------------------------------------------------------------------
 
}elseif ($Print){
      $db = mysql_connect("127.0.0.1", "root");
        mysql_select_db("Account",$db);

$result=mysql_query("SELECT SUM(pris) AS samlet FROM hotel WHERE vaerelse = '$query'");
$row=mysql_fetch_array($result);

echo $row["samlet"];


echo "<INPUT TYPE=SUBMIT NAME=Print VALUE=Print Onclick=print()>";
echo "<FORM METHOD=POST ACTION=$PHP_SELF>";   
echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>"; 
echo "</form>"; 


//----------------------------------------------------------------------

}else{
?>
    <FORM METHOD=POST ACTION=<?echo $PHP_SELF;?>>
      Indtast Værelses Nummer
      <INPUT TYPE=TEXT  NAME="query">
      <INPUT TYPE=SUBMIT NAME="soeg" VALUE=Søg>
      <INPUT TYPE=Reset  VALUE=Nulstil>
    </FORM>
<?
  }
?>     
  </body>
</html>
Avatar billede mjl Nybegynder
17. november 2002 - 12:30 #3
...er det ikke problemet?
Avatar billede fritter Nybegynder
17. november 2002 - 12:35 #4
Desværre heller ikke det.
Avatar billede mjl Nybegynder
17. november 2002 - 12:39 #5
ARGHHHHHH.......!!!!
Avatar billede fritter Nybegynder
17. november 2002 - 12:40 #6
Jeg er satme også ved at gå amok!!!!
Avatar billede fritter Nybegynder
17. november 2002 - 12:42 #7
Jeg tør vædde på, at det garanteret bare er et eller andet lille tegn, som er sat forkert.
Avatar billede nemeier Nybegynder
17. november 2002 - 12:43 #8
Giv mig lige din url for beregningen samt en kopi af svar skærmen !
Avatar billede fritter Nybegynder
17. november 2002 - 12:46 #9
Den skal jeg lige have forfra.
Avatar billede fritter Nybegynder
17. november 2002 - 12:54 #10
nemeier : Hvad mener du med at skulle have min URL? Hvis du tænker på om jeg har oploadet det, så har jeg ikke. Det kører rent lokalt. Hvad mener du med "kopi af svar skærmen"?
Avatar billede mjl Nybegynder
17. november 2002 - 13:14 #11
I slutningen af din kode...

<INPUT TYPE=SUBMIT NAME="soeg" VALUE=Søg>

Lav om til:

<INPUT TYPE=HIDDEN NAME="soeg" VALUE="soeg">
<INPUT TYPE=SUBMIT VALUE=Søg>
Avatar billede nemeier Nybegynder
17. november 2002 - 13:18 #12
jeg mener den streng er står i din browser som adresse (den hedder URL)

Når den hvar vist resultatet på skræmen så cut og paste den ind så jeg kan se hvad den udskriver !
Avatar billede fritter Nybegynder
17. november 2002 - 13:22 #13
Oppe i adressen skriver den/jeg = http://127.0.0.1/index.php
Det gør den hele vejen igennem
Avatar billede fritter Nybegynder
17. november 2002 - 13:23 #14
mjl : Desværre heller ingen succes denne gang. Nu er jeg ved at være godt tosset
Avatar billede mjl Nybegynder
17. november 2002 - 13:23 #15
...hvad for du på skærmen...?

Skriver den ikke noget med "Kunne ikke....bla
Avatar billede mjl Nybegynder
17. november 2002 - 13:24 #16
Altså hvilken fejlmeddelelse får du?

Kopier fra din browser, og sæt det ind her...
Avatar billede fritter Nybegynder
17. november 2002 - 13:27 #17
Nope. Den skriver ingenting. Det lader til at den sagtens kan få fat i DB, eller det ved jeg den kan, da jeg sagtens kan udskrive resulaterne styk vis, men jeg kan bare ikke lægge dem samme og udskrive dem på siden. Som sagt tror jeg mit problem bunder i funktionen  "'$query' eller '%$query%'"
Avatar billede fritter Nybegynder
17. november 2002 - 13:28 #18
Det eneste jeg får, er 2 knapper : Print og Tilbage. Dem har jeg også selv sat ind. Begge knapper fungere som de skal
Avatar billede fritter Nybegynder
17. november 2002 - 13:33 #19
Hvis I har en e-mail, så kan jeg tage et skærmdump af DB så kan I se hvordan den ser ud
Avatar billede mjl Nybegynder
17. november 2002 - 13:48 #20
lauesen@post5.tele.dk
Avatar billede mjl Nybegynder
17. november 2002 - 14:20 #21
Du kan vel heller ikke slette vel?
Avatar billede mjl Nybegynder
17. november 2002 - 14:24 #22
Prøv lige at tænke over dette:

For at dine formularer skal virke, skal følgende være ok:

1. Hvordan/hvor: <form action=$PHP_SELF method=post>
2. Værdier: <input type=hidden name=slet value=slet>
3. Knap <input type=submit value='SLET'>
4. Afslutning for hver form: </form>

Hvis du ikke har alle 4 med i alle forespørgsler - går det galt!!!
Avatar billede mjl Nybegynder
17. november 2002 - 14:25 #23
Husk også <INPUT TYPE=HIDDEN VALUE='$query'> hver gang, for at få det rigtigt værelses nummer med...!
Avatar billede mjl Nybegynder
17. november 2002 - 14:28 #24
<html>
<body>

<?
if($soeg){

    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("Account",$db);

    $foresp = mysql_query("SELECT * FROM hotel WHERE vaerelse = '$query'");
 
    echo mysql_num_rows($foresp)." Resultat(er) fundet<BR><BR>";

    while($data=mysql_fetch_array($foresp)){
      echo "Værelse    : $data[0]<BR>";
      echo "Dato og Tid : $data[1]<BR>";
      echo "Pris i kr.  : $data[2]<BR>";
      echo "Ydelse      : $data[3]<BR><BR><BR>";
    }
    echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo "<INPUT TYPE=HIDDEN NAME= tilbage VALUE=tilbage>";
            echo "<INPUT TYPE=HIDDEN VALUE=$query>";
    echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>\t";
        echo "</form>";
        echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
        echo "<INPUT TYPE=HIDDEN VALUE=$query>";
                echo "<INPUT TYPE=HIDDEN NAME=Slet VALUE=Slet>\t";
        echo "<INPUT TYPE=SUBMIT VALUE=Slet>\t";
            echo "</form>";
                echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
    echo "<INPUT TYPE=SUBMIT NAME=Print VALUE=Udskriv>";
    echo "</form>";

//---------------------------------------------------------------------- 
//---------------------SLETNING AF DATABASE-----------------------------
//---------------------------------------------------------------------- 

  }elseif ($Slet) {
   
    $db = mysql_connect("127.0.0.1", "root");
        mysql_select_db("Account",$db);
     
    echo "Databasen er nu slettet";
   
   
      echo "<FORM METHOD=POST ACTION=$PHP_SELF>";   
      echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>";
      echo "</form>";

    mysql_query("DELETE FROM hotel WHERE vaerelse = '$query'");

//----------------------------------------------------------------------
//-----------------Udskrivning af det samlede beløb---------------------
//----------------------------------------------------------------------
 
}elseif ($Print){
      $db = mysql_connect("127.0.0.1", "root");
        mysql_select_db("Account",$db);

$result=mysql_query("SELECT SUM(pris) AS samlet FROM hotel WHERE vaerelse = '$query'");
$row=mysql_fetch_array($result);

echo $row["samlet"];


echo "<INPUT TYPE=SUBMIT NAME=Print VALUE=Print Onclick=print()>";
echo "<FORM METHOD=POST ACTION=$PHP_SELF>";   
echo "<INPUT TYPE=SUBMIT VALUE=Tilbage>"; 
echo "</form>"; 


//----------------------------------------------------------------------

}else{
?>
    <FORM METHOD=POST ACTION=<?echo $PHP_SELF;?>>
      Indtast Værelses Nummer
      <INPUT TYPE=TEXT  NAME="query">
      <INPUT TYPE=SUBMIT NAME="soeg" VALUE=Søg>
      <INPUT TYPE=Reset  VALUE=Nulstil>
    </FORM>
<?
  }
?>     
  </body>
</html>
Avatar billede mjl Nybegynder
17. november 2002 - 14:29 #25
Det er lidt rodet - måske kan jeg lave koden helt om, hvis jeg lige kunne gennemskue den...
Avatar billede fritter Nybegynder
17. november 2002 - 14:46 #26
Det er faktisk lidt underligt, for jeg kan sagtens slette et valgt værelse, uden at andre værelser bliver slettet.
Desværre virker det ikke endnu. Det eneste der skete med den nye kode, var at knapperne nu står ovenpå hinanden istedet for ved siden af
Avatar billede mjl Nybegynder
17. november 2002 - 14:47 #27
ok...arbejder lige lidt videre...
Avatar billede fritter Nybegynder
17. november 2002 - 14:47 #28
Hvis du habde mulighed for at lave koden om, så den kom til at virke, ville jeg være dig evig taknemlig:-))
Avatar billede fritter Nybegynder
17. november 2002 - 14:47 #29
havde....
Avatar billede mjl Nybegynder
17. november 2002 - 15:02 #30
ok...ser lige på det!

Din dato/tid, kan ikke godkendes i min MySQL - da jeg lavede den om til dato_tid, så ville den...
Avatar billede mjl Nybegynder
17. november 2002 - 15:43 #31
Prøv lige at tjekke denne kode: Den skal hedde index.php

<html>
<head>
    <title>Hotel fætter</title>
</head>

<body>

<?
$db = mysql_connect("127.0.0.1", "root");
mysql_select_db("Account",$db);
?>

<?
echo "<FORM METHOD=POST ACTION=".$PHP_SELF.">
Indtast Værelses Nummer: <INPUT TYPE=TEXT  NAME='query'>
<INPUT TYPE=SUBMIT NAME='soeg' VALUE=Søg>
<INPUT TYPE=Reset  VALUE=Nulstil>
</FORM>";
?>

<?
if ($soeg) {
$foresp = mysql_query("SELECT * FROM hotel WHERE vaerelse = '$query'");
echo mysql_num_rows($foresp)." Resultat(er) fundet<BR><BR>";
while($data=mysql_fetch_array($foresp)){
echo "Værelse    : $data[0]<BR>";
echo "Dato og Tid : $data[1]<BR>";
echo "Pris i kr.  : $data[2]<BR>";
echo "Ydelse      : $data[3]<BR>";
echo "<a href=$PHP_SELF?action=slet&slet_data=".$data[0].">SLET</a><BR>";
echo "<a href=$PHP_SELF?action=udregn&samlet_data=".$data[0].">Udregn</a><BR><BR>";
}
}
elseif ($action == slet) {
mysql_query("DELETE FROM hotel WHERE vaerelse = '$slet_data'");
echo "<Script>window.location=\"$PHP_SELF\"</Script>";
}
elseif ($action == udregn) {
$result = mysql_query("SELECT SUM(pris) AS samlet FROM hotel WHERE vaerelse = '$samlet_data'");
while ($row = mysql_fetch_array($result)) {
echo "Ialt kr. ".$row["samlet"].".-";
}
}
?>

</body>
</html>
Avatar billede fritter Nybegynder
17. november 2002 - 15:55 #32
YEEEEEEEEEESSSSSSSSSSSSS!!!!!!!!!!!! Nu virker det fandme. Mange gange tak for hjælpen.
Avatar billede mjl Nybegynder
17. november 2002 - 16:00 #33
He he - No Problem!!!
Avatar billede fritter Nybegynder
17. november 2002 - 16:22 #34
Nu har jeg lige endnu et spørgsmål. De hyperlinks du har lavet istedet for. Kan jeg ikke lave dem om buttons? F.eks en slet og Udskriv button?
Avatar billede mjl Nybegynder
17. november 2002 - 16:34 #35
Ja men så husk at starte og slutte den separat...

Noget i denne retning burde gøre det:

echo "
<form action=index.php method=post>
<input type=hidden name=action value=udregn>
<input type=hidden name=samlet_data value=".$data[0].">
<input type=submit value='Udregn'>
";
Avatar billede mjl Nybegynder
17. november 2002 - 16:35 #36
For at $data[0]."> skal være korrekt, skal den være inden for {} lissom <a href=>'erne
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
Computerworld tilbyder specialiserede kurser i database-management

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