Diversen

Status
Niet open voor verdere reacties.
Hoi,

De tijd in de database is goed , maar op de webpagina verschijnt 18:06u zou 18:33 moeten zijn
 
Laatst bewerkt:
Tijd opgelost

was
(tijd, '%H:%I')

moet zijn

(tijd, '%H:%i)

%I Hour (01..12)
%i Minutes, numeric (00..59)
 
Laatst bewerkt:
Hoi,

Van Mysql naar Mysqli

Ik heb deze omgezet naar onderstaande
PHP:
$aantal_pers_in_week_Query = "SELECT SUM(aantal_personen) FROM reserv_zaterdagavond WHERE  week_nummer = $week_num";
$aantal_pers_in_week_Result = mysql_query($aantal_pers_in_week_Query) or die(mysql_error());



PHP:
$aantal_pers_in_week_Query= mysqli_query($conn,"SELECT SUM(aantal_personen) FROM reserv_zaterdagavond WHERE  week_nummer = $week_num");
$aantal_pers_in_week_Result = mysqli_query($aantal_pers_in_week_Query) or die(mysqli_error());


Maar krijg melding:
Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/xxxxx/inc/sql-sum-personen-week.php on line 8

Warning: mysqli_error() expects exactly 1 parameter, 0 given in /home/xxxxx/inc//sql-sum-personen-week.php on line 8

regel 8 is
PHP:
$aantal_pers_in_week_Result = mysqli_query($aantal_pers_in_week_Query) or die(mysqli_error());

Het wellicht ook zijn dat aanpassing hierboven goed is maar ergens anders een foutje zit.
 
Laatst bewerkt:
Kijk eens goed naar je omgezette code :)

Je roept 2x mysqli_query() aan waarbij alleen de eerste juist is.
 
Ik zie het niet

PHP:
$aantal_pers_in_week_Result = ( $aantal_pers_in_week_Query ) or die ( 'Query failed: ' . mysql_error() );
of

Code:
$aantal_pers_in_week_Result = $aantal_pers_in_week_Query ;


Melding blijft

Vervelend vind ik dat als je tutorials bekijkt , heel veel verschillende voorbeelden ziet van een en ander..

----------------------------------------------------------
Ik ga me aan jou voorbeeld van post 11 houden, loop ik gelijk alle na.
 
Laatst bewerkt:
Resultaten uit een database krijgen is twee stappen:
  1. Zoekopdracht naar de database sturen (mysqli::query)
  2. Resultaat opvragen (mysql::fetch_assoc)

PHP:
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

if (!$mysqli->query("DROP TABLE IF EXISTS test") ||
    !$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))") ||
    !$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')")) {
    echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$res = $mysqli->query("SELECT id, label FROM test WHERE id = 1");
$row = $res->fetch_assoc();
http://php.net/manual/en/mysqli.quickstart.statements.php

Example #4, hoewel dit de object-oriented manier is en jij het procedureel doet (het eerste heeft de voorkeur) is de werkwijze nagenoeg gelijk.
 
Bedank Tha Devil,

ga het eens bekijken , op zich had ik alles aan het werken , maar van Mysql naar Mysqli gooide wat roet in het geheel, maar begrijp dat dit op termijn beste is
 
Dat is helaas het nadeel met online tutorials en programmeren. Code verandert constant en tutorials zijn zo verouderd.

Het omschakelen is inderdaad even wennen maar je weet dat het dan weer een poosje (;)) future-prooi is.
 
:(

PHP:
$query_pers = mysqli_query($mysqli,"SELECT SUM(aantal_personen) FROM reserv_zaterdagavond ");
$sql = mysqli_query($query_pers);   // 5
$aantal_pers_in_week_Result = mysqli_fetch_assoc($sql );    //6


echo $$aantal_pers_in_week_Result['SUM(aantal_personen)'];

Warning: mysqli_query() expects at least 2 parameters, 1 given in...line 5


Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in..line 6


update :)
PHP:
$query_pers = "SELECT SUM(aantal_personen) FROM reserv_zaterdagavond ";
$result = $mysqli->query($query_pers);
//$sql = mysqli_query($query_pers);
$aantal_pers_in_week_Result = mysqli_fetch_assoc($result);


echo $aantal_pers_in_week_Result['SUM(aantal_personen)'];
 
Laatst bewerkt:
Er gaan een aantal zaken verkeerd, in je eerste voorbeeld:
  • Weer twee keer de functie mysqli_query() :(
  • Dubbel dollarteken op regel 6

Dit zou moeten werken:
PHP:
$query_pers = mysqli_query($mysqli, "SELECT SUM(aantal_personen) AS totaal FROM reserv_zaterdagavond ");
$aantal_pers_in_week_Result = mysqli_fetch_assoc($query_pers ); 

echo $aantal_pers_in_week_Result['totaal'];
Ik heb in de query "AS" gebruikt zodat je de waarde makkelijker op kunt vragen.

Je tweede voorbeeld ziet er beter uit alleen combineer je hier procedureel met object georiënteerd.

Aangepast:
PHP:
$query_pers = "SELECT SUM(aantal_personen) AS totaal FROM reserv_zaterdagavond ";
$result = $mysqli->query($query_pers);
$aantal_pers_in_week_Result = $mysqli->fetch_assoc();
 
 
echo $aantal_pers_in_week_Result['totaal'];
Ook hier weer "AS" toegevoegd
 
update

Hallo,


Via link

PHP:
<a href="update/index.php?id=' . $rows['id'] . '"></a>

ga ik naar bijv. index.php?id=355


Probeer een update te maken maar krijg melding
Undefined index: name in..index.php..
Undefined index: geslacht in ..index.php...

iemand een oplossing en verbeteringen welkom

index.php (updateform)
<!-- connect naar DB -->
Code:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Update</title>
    </head>
    <body>
        <form action="update.php" method="GET">
            <input type="hidden" value="<?= $_GET['id'] ?>" name="id"/>
            Name: <input type="text" name="name" value="<?= $_GET['name'] ?>">
            Geslacht: <input type="text" name="geslacht" value="<?= $_GET['geslacht'] ?>">
            <input type="submit" name="submit">
        </form>
    </body>
</html
>


gaat dus om
Code:
Name: <input type="text" name="name" value="<?= $_GET['name'] ?>">
            geslacht: <input type="text" name="geslacht" value="<?= $_GET['geslacht'] ?>">


update.php

PHP:
<?php
ini_set('display_errors', 'On'); 
error_reporting(E_ALL);
?>
<?php
if ($_POST['submit']) {

    $name = $_POST['name'];
    $age = $_POST['geslacht'];
    $id = $_POST['id'];
    
    if (!empty($name) && !empty($geslacht) && !empty($id)) {
        $db = new mysqli(HOST, USER, PASS, DBNAME);
        if ($db->connect_errno) {
            echo "Failed to connect to MySQL: (" . $db->connect_errno . ") "
            . $db->connect_error;
        }

        $query = "UPDATE reserveren SET  name=?,geslacht=?, WHERE id=?";
        $conn = $db->prepare($query);
        $conn->bind_param("isi",  $name, $geslacht, $id);

        if ($conn->execute()) {
            header('location: http://xxxxxxxx/index.php');
        }
        $db->close();
    }
}
?>
 
Laatst bewerkt:
Je verstuurt het formulier via de GET-methode naar update.php, ten eerste is dit niet de manier waarop je controleert of er een formulier is verzonden:
PHP:
if ($_POST['submit']) {
De enige juiste manier is deze:
PHP:
if ($_SERVER['REQUEST_METHOD'] == "POST") {
Vervolgens zit je dus met het probleem dat je jouw formulier niet via POST verstuurd, maar via GET.

Die undefined meldingen komen omdat je de pagina in het huidige geval niet als index.php?name=test&geslacht=mannetje aanroept. Je probeert dus een array-waarde uit $_GET op te vragen die niet bestaat.
 
Bedankt voor reactie Tha devil.

Had al iets met Get en Post maar vond niet de oplossing.
 
Hoi

Ik heb diverse updates scripts geprobeerd, een werkt niet.
Krijg de melding dat de table een uniek veld bevat
Helaas kan ik script hier niet posten, een idee wat er mis kan zijn of zit dat ergens in de database
 
Waarschijnlijk heb je een UNIQUE constraint op een kolom zitten. Controleer dus even de database structuur. Verder zou ik nakijken of je wel UPDATE doet en niet opnieuw een INSERT.

Meer kan ik niet voor je doen, zonder code is het onbegonnen werk.
 
Waarschijnlijk heb je een UNIQUE constraint op een kolom zitten. Controleer dus even de database structuur. Verder zou ik nakijken of je wel UPDATE doet en niet opnieuw een INSERT.

Meer kan ik niet voor je doen, zonder code is het onbegonnen werk.

Hoi Tha Devil,

Ik kan je het script als je wilt mailen vanavond , vreemde is dat alleen dit script niet met het uniek veld kan omgaan.

Ik heb het voornamelijk aangeschaft voor de functies aan de front
 
Is het de bedoeling dat de ingevoerde waarde uniek is of krijg je een foutmelding terug dat iets uniek moet zijn?

Ik neem aan dat je een foutmelding of iets krijgt?
 
Bij bijv.. dupliceren van een rij (waarin script voorziet):

Duplication impossible. The table has a unique field.

Bij aanpassen van gegevens en na opslaan de melding:

Sommige velden zijn niet uniek
 
Is het dan niet een kwestie om na te kijken welke velden uniek dienen te zijn? En of die uberhaupt uniek moeten zijn.

Dan weet je tenminste waar je op moet checken alvorens je gaan dupliceren / aanpassen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan