} else { /* Der er opstået en fejl */ echo 'Der opstod en fejl i erklæringen: ' . $hellestrik->error; }
$colname_rsVare_Salg = "-1"; if (isset($_GET['uk'])) { $colname_rsVare_Salg = $_GET['uk']; } mysqli_select_db($hellestrik, "SELECT * FROM vare WHERE uk = %s"); $query_rsVare_Salg = sprintf("SELECT * FROM vare WHERE uk = %s ORDER by status DESC", GetSQLValueString($colname_rsVare_Salg, "int")); $rsVare_Salg = mysqli_query($hellestrik, $query_rsVare_Salg) or die(mysqli_error()); $row_rsVare_Salg = mysqli_fetch_assoc($rsVare_Salg); $totalRows_rsVare_Salg = mysqli_num_rows($rsVare_Salg);
Det henter jeg min id fra hvor det andet sted virker det fint.
#1 >$stmt->bind_param('si', $antal, $idmain); er du sikker på at antal er en string ?? skal vel se sådan ud $stmt->bind_param('ii', $antal, $idmain); så det er et heltal
#3 dette /* Hent rækker og udskriv data */ /*while ($stmt->fetch()) { echo $id . '<br>'; } /* Luk statement */ <-- her stopper den kommentar du startede foran while
bliver aldrig udført, så du får aldrig fetchet dine data. i øvrigt, hvad er meningen med sql sætningen ??, hvad vil du opnå ?? du selecter den id, som den skal være lig med.
#4 >Og den kan godt udskrive alle mine id. ja alle dem der er størrer end den værdi du har i din $_GET['id'];
når jeg gør sådan kommer det første tal ud i min database. /* Opret et prepared statement */ if ($stmt = $hellestrik->prepare('INSERT INTO `samlet_pris` (`antal`, `idmain`) VALUES (?, ?)')) {
} else { /* Der er opstået en fejl */ echo 'Der opstod en fejl i erklæringen: ' . $hellestrik->error; }/* Opret et prepared statement */ if ($stmt = $hellestrik->prepare('SELECT `id` FROM `vare` WHERE `id` > ?')) {
/* Bind parametre */ $stmt->bind_param('i', $id);
/* Sæt værdier på parametrene */ $id = $idmain;
/* Eksekver forespørgslen */ $stmt->execute();
/* Bind resultatet */ $stmt->bind_result($id);
/* Hent rækker og udskriv data */ /*while ($stmt->fetch()) { echo $id . '<br>'; }
/* Luk statement */ $stmt->close();
} else { /* Der er opstået en fejl */ echo 'Der opstod en fejl i erklæringen: ' . $hellestrik->error; }
$idmain = 11; // kan evt være fra en $_GET eller $_POST /* Opret et prepared statement */ if ($stmt = $hellestrik->prepare('SELECT `id` FROM `vare` WHERE `id` >= ?')) {
/* Bind parametre */ $stmt->bind_param('i', $id);
/* Sæt værdier på parametrene */ $id = $idmain;
/* Eksekver forespørgslen */ $stmt->execute();
/* Bind resultatet */ $stmt->bind_result($id); // denne varaibel er den du anvender i din fetch
/* Hent rækker og udskriv data */ while ($stmt->fetch()) { echo $id . '<br>'; }
/* Luk statement */ $stmt->close();
} else { /* Der er opstået en fejl */ echo 'Der opstod en fejl i erklæringen: ' . $hellestrik->error; }
vil udskrive alle id'er ud der er ligmed eller størrer en 11
} else { /* Der er opstået en fejl */ echo 'Der opstod en fejl i erklæringen: ' . $hellestrik->error; } Den vil gerne tage id 18 min ikke de andre. Så for hver enkelte id'er kommer den med det samme id.
/* Select et prepared statement */ if ($stmt = $hellestrik->prepare('SELECT id, vare, farve, matriale, antal, dato, status, pris FROM `vare` WHERE `id` >= ?')) {
/* Bind parametre */ // antallet af spørgsmåls tegn skal passe til antallet af parameter her $stmt->bind_param('i', $post_id);
/* Sæt værdier på parametrene */ $post_id = $_POST['id'];
/* Eksekver forespørgslen */ $stmt->execute();
/* Bind resultatet */ // skal bindes i sammen rækkefølge som de er selected, og antalllet skal være det sammen // de behøver dog ikke at hedde det sammen som i databasen, men det er praktisk $stmt->bind_result($id, $vare, $farve, $matriale, $antal, $dato, $status, $pris);
<!-- denne blok vinder hver gang, da det er den sidste --> <input name="ip" type="hidden" id="ip" value="79"> <input name="id" type="hidden" id="id" value="18"> <input name="billede" type="hidden" id="billede" value="Orange the yellow shrimp.jpg"> <input name="antal" type="hidden" id="antal2" value="1"> <input name="idmain" type="hidden" id="idmain" value=""> <input type="submit" name="button" id="button" value="Test knap(webmaster)">
ved hurtigt at kigge på din HTML, kan jeg sige, den skal valideres. hvordan tester du hvilke knap der er trykket ?? skulle idmain ikke have en value ?? skulle hver blok ikke være en form ??, som det er nu submitter du hele tabellen, og sidst indlæste navn af en variabel vinder, dvs den nederste blok vinder hver gang, så ligegyldigt hvilke knap du trykker på er det altid den nederste bloks data der sendes, i ASP ville det have været opfattet som et array, men ikke i PHP
># Skulle hver blok ikke være form = Jeg har lavet en while så de alle komme op med hver deres id, og med tekst og det hele. alle dine blokke ligger i 1 form, det er derfor du får sendt id=18 hver gang
1000 Tak for al den hjælp til at få løst mysteriet. Jeg syntes du altid hjælper rigtig meget, og får løst mine problemer med den side laver, når jeg kommer ind i noget. Og det skal du have tak for.
hvis du bare skal hente alle rækker er der ikke nogle grund til at bruge en where i din sql, men ud over det så var det fornuftigt lige at prøve at binde en variabel (utested)
/* Select et prepared statement */ if ($stmt = $hellestrik->prepare('SELECT id, vare, farve, matriale, antal, dato, status, pris FROM `vare`)) { /* Eksekver forespørgslen */ $stmt->execute();
/* Bind resultatet */ // skal bindes i sammen rækkefølge som de er selected, og antalllet skal være det sammen // de behøver dog ikke at hedde det sammen som i databasen, men det er praktisk $stmt->bind_result($id, $vare, $farve, $matriale, $antal, $dato, $status, $pris);
Men det med $_POST['id'].''.$_SERVER['REMOTE_ADDR']; Kan simpelhen ikke finde id. Har prøve næsten alt og for sig selv $id GET dure ikke, POST heller ikke. Hvad skal jeg gøre? Har prøvet at sætte min SELECT tæt på INSERT. Men stadig hjælper det ikke.
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.