Avatar billede Morten Professor
23. december 2015 - 11:57 Der er 6 kommentarer og
1 løsning

Vis undermenu under den samme id mysqli

Hej Eksperter

Jeg har et spørgsmål til hvordan jeg får min kode til at få vist det id under det id jeg har lavet. Som en under kategori. Er ved at lave en menu.
Har gjort det før rimelig mange gange men ikke med mysqli.

Jeg kan bare ikke få det til at virke.
Her er koderne:


<?php
/* Select et prepared statement */
if ($stmt = $con->prepare('SELECT `id`, `mid`, `submid`, `menu`, `overskrift`, `text`, `datetime`, `forfatter` FROM `tbl_artikel` WHERE mid = ?')) {

    /* Bind parametre */
    $stmt->bind_param('i', $mid);

    /* Sæt værdier på parametrene */
    $mid = 1;

    /* Eksekver forespørgslen */
    $stmt->execute();

    /* Bind resultatet */
    $stmt->bind_result($M_id, $M_mid, $M_submid, $M_menu, $M_overskrift, $M_text, $M_datetime, $M_forfatter);

    /* Hent rækker og udskriv data */
    while ($stmt->fetch()) {
    echo '<li>';
    echo '<a href=index.php?id='. $M_id .'>'. $M_menu .'</a>';

   
    ;}}
   
    /* Select et prepared statement */
if ($stmt = $con->prepare('SELECT `id`, `mid`, `submid`, `menu`, `overskrift`, `text`, `datetime`, `forfatter` FROM `tbl_artikel` WHERE submid = ?')) {

    /* Bind parametre */
    $stmt->bind_param('i', $submid);

    /* Sæt værdier på parametrene */
    $submid = 1;
   
    /* Eksekver forespørgslen */
    $stmt->execute();

    /* Bind resultatet */
    $stmt->bind_result($submid_id, $submid_mid, $submid_submid, $submid_menu, $submid_overskrift, $submid_text, $submid_datetime, $submid_forfatter);

    /* Hent rækker og udskriv data */
    while ($stmt->fetch()) {
    echo '<ul>';
    echo '<li>';
    echo '<a href=index.php?id='. $submid_id .'>'. $submid_menu .'</a>';
    echo '</li>';
    echo '</ul>';
    echo '</li>';
    ;}}
    ?>


Med venlig hilsen
Morten
Avatar billede olsensweb.dk Ekspert
23. december 2015 - 16:30 #1
>Har gjort det før rimelig mange gange men ikke med mysqli.
hvordan skal den se ud uden Prepare Statement ??

du har da et html validerings problem med den code, din while's smadre da html'en, hvis der er 0 under menuer, eller flere end 1 under menuer

hvordan ser din tbl_artikel ud ??
lav et sql dump af tabellen.
Avatar billede Morten Professor
23. december 2015 - 17:15 #2
Er lige ved at løse det med validering har ingen fejl ved siden endnu men kun menu og det er jo rigtig nok men kodningen.

Databasen:


-- Struktur-dump for tabellen `tbl_artikel`
--

CREATE TABLE IF NOT EXISTS `tbl_artikel` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `mid` int(11) NOT NULL,
  `submid` int(11) NOT NULL,
  `meid` int(11) NOT NULL,
  `menu` varchar(255) COLLATE utf8_danish_ci NOT NULL,
  `overskrift` varchar(255) COLLATE utf8_danish_ci NOT NULL,
  `text` text COLLATE utf8_danish_ci NOT NULL,
  `datetime` datetime NOT NULL,
  `forfatter` varchar(255) COLLATE utf8_danish_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci AUTO_INCREMENT=5 ;

--
-- Data dump for tabellen `tbl_artikel`
--

INSERT INTO `tbl_artikel` (`id`, `mid`, `submid`, `meid`, `menu`, `overskrift`, `text`, `datetime`, `forfatter`) VALUES
(1, 1, 0, 0, 'Forside', 'overskrift', 'tekstwewertrwertwert', '0000-00-00 00:00:00', 'Morten'),
(2, 1, 0, 0, 'Test', 'Test', 'Test', '2015-12-21 01:40:00', 'Morten'),
(3, 0, 1, 0, 'Test menu', 'Overskrift', 'Tekst', '0000-00-00 00:00:00', 'Morten'),
(4, 0, 1, 0, 'Testest', 'testest', 'testest', '0000-00-00 00:00:00', 'Testest');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Avatar billede Morten Professor
23. december 2015 - 20:14 #3
Så fik jeg det med li og ul fikset.
Det er bare det der kode jeg snakkede om jeg mangler.
Avatar billede olsensweb.dk Ekspert
23. december 2015 - 22:32 #4
umildbart udskriver den alle 4 records, præsentationen er et spm om valid HTML og CSS


hvilke udskrift forvendter du
Avatar billede Morten Professor
24. december 2015 - 08:20 #5
De undermenuer skal komme under forside men kommer under test. Er bare ved at test derfor under forside. De kommer under det sidste id der er lavet. Selvom jeg henviser den til at komme under test
Avatar billede Morten Professor
24. december 2015 - 08:21 #6
Hov komme under forside*
Avatar billede Morten Professor
26. december 2015 - 17:46 #7
lukker tråd opretter nyt
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

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