Avatar billede madseksperten Nybegynder
06. april 2015 - 13:07 Der er 3 kommentarer og
1 løsning

return fra MySQL giver ikke noget resultat

Hejsa

Jeg kan ikke helt forstå hvorfor jeg ikke får noget retur fra min database. Når jeg indsætter data i mine forms, bliver de registeret i databasen, og jeg får beskeden "Insert succesfull". Men jeg får ikke noget data return i min tabel. Kan nogle se hvorfor?

Mvh Mads

<html>

<head>
    <link rel="stylesheet" type="text/css" href="css/arrangeTables.css">

</head>

<body>


<?php

$username = "root";
$password = "root";
$hostname = "127.0.0.1:3306";

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br><br>";

//select a database to work with
$selected = mysql_select_db("danskebank",$dbhandle)
  or die("Could not select any database");

if(isset($_POST['addto'])){
// Insert to database
$date = $_POST['date'];
$day = $_POST['day'];
$fromtime = $_POST['fromtime'];
$totime = $_POST['totime'];

$sql = "INSERT INTO addWorkTime(date, day, fromtime, totime) VALUES('$date', '$day', '$fromtime', '$totime')";

$result = mysql_query($sql, $dbhandle) or die(mysql_error($dbhandle));

    if($result){
      echo "Insert successful.";
    }

    }; // brace for if(isset($_POST['addto']))

    if(isset($_POST['delete'])){
      $hidden = mysql_real_escape_string($_POST['hidden']);
      $DeleteQuery = "DELETE FROM addWorkTime WHERE p_id=$hidden";         
      $delete = mysql_query($DeleteQuery, $dbhandle) or die(mysql_error($dbhandle));

    if($delete){
        echo "Delete successful";
        }
    }

    //Return records from database
    $result = mysql_query("SELECT p_id, date, day, fromtime, totime FROM addWorkTime");
?>
    <form method="post">
        <h3>Add your worktime to database</h3><br>
Date:
            <input type="date" name="date"><br><br>

Day
            <select name="day">
                <option value="Mandag">Mandag</option>
                <option value="Tirsdag">Tirsdag</option>
                <option value="Onsdag">Onsdag</option>
                <option value="Torsdag">Torsdag</option>
                <option value="Fredag">Fredag</option>
                <option value="Lørdag">Lørdag</option>
                <option value="Søndag">Søndag</option>
            </select>

From time:
            <input type="time" name="fromtime">
To time:
            <input type="time" name="totime">
            <input type="submit" name="addto" value="submit"><br><br>



            <!-- Return from the database -->
            <h3>Return from database:</h3><br>

            <!-- headers -->

            <table>
              <tr>
                <th class="column0">Primary Key</th>
                <th class="column1">Date</th>
                <th class="column2">Day</th>
                <th class="column3">From</th>
                <th class="column4">To</th>
              </tr>
            </table>

    </form>


            <!--loop through through the database -->

              <?php while($row = mysqli_fetch_array($result)): ?>

    <form method="post">
              <table>
                <tr>
                      <td class="resultcolumn0"><?php echo $row{'p_id'};?></td>
                      <td class="resultcolumn1"><?php echo $row{'date'};?><br></td>
                    <td class="resultcolumn2"><?php echo $row{'day'};?></td>
                    <td class="resultcolumn3"><?php echo $row{'fromtime'};?></td>
                    <td class="resultcolumn4"><?php echo $row{'totime'};?></td>

                    <td><input type="hidden" name="hidden" value="<?php echo $row{'p_id'}?>"><?php echo $row{'p_id'}?></td>
                    <td><input type="button" value="Edit"></td>
                    <td><input type="submit" name="delete" value="Delete"></td>
                  </tr>

            </table>

    </form>
                <?php endwhile; ?>


    </body>
</html>
Avatar billede olsensweb.dk Ekspert
06. april 2015 - 13:20 #1
et hurtigt bud:
du connecter til det gamle mysql API med dette
$dbhandle = mysql_connect($hostname, $username, $password)

og du forsøger at fetch med et andet API (mysqli), som du ikke har lavet en connection til
<?php while($row = mysqli_fetch_array($result)): ?>
du kunne prøve at rette til
<?php while($row = mysql_fetch_array($result)): ?>
så passer det også med den query du får et resultat set fra

jeg vil anbefale dig at skrive det hele om til mysqli alternativt til PDO
ref http://php.net/mysql_connect

Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information.
Avatar billede madseksperten Nybegynder
06. april 2015 - 13:39 #2
Du er sej Ronols. Det virker. Mange tak for det :-) Smider du et svar?

mvh Mads
Avatar billede olsensweb.dk Ekspert
06. april 2015 - 13:54 #3
hvis du følger anbefalingen om at skrive det om til mysqli eller PDO så kan vi dele point :)
jeg syntes ikke jeg har lagt så meget tid i det så det er 200 point værd
Avatar billede madseksperten Nybegynder
06. april 2015 - 14:00 #4
Jeg tænker også det skal omskrives til MySqli eller PDO. Jeg har bare siddet og rodet med det php i lang tid, uden rigtig at få noget ordentligt til at fungere, så det er sjovt lige nu at tingene fungerer og man kan lave lidt hyggeprojekter med det. Så tænker at give mig i kast med mysqli og pdo, når jeg er blevet lidt bedre til at forstå php generelt :)
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