Diskuze: Generování tabulky

PHP PHP Generování tabulky American English version English version

Avatar
ManiusCZ
Člen
Avatar
ManiusCZ:

Ahoj, chtěl jsem se zeptat jestli by mi někdo neporadil jak vytvořit to, abych když vytvořím v DB nový zápis aby si mi automaticky vygeneroval další sloupec s tím zápisem .. Prostě automaticky generujicí se tabulka ...

Děkuji

Odpovědět 6.3.2013 15:53
Motto FTW !
Avatar
ManiusCZ
Člen
Avatar
ManiusCZ:

Jo a ještě jsem se chtěl zeptat co je špatně na tomhle kódu že nefunguje :-)

<?php
session_start();
require_once "../scripts/connect_to_mysql.php";


if(isset($_GET['edit'])) {
        $q = "SELECT * FROM `pages` WHERE `id` = '".$_GET['edit']."'";
        $r = mysqli_query($q);

        while ($row = mysqli_fetch_array($r)) {
                        $id = $row['id'];
                        $title = $row['pagetitle'];
                        $link = $row['linklabel'];
                 }

                 echo $id."<br />";
                  echo $title."<br />";
                   echo $link."<br />";
        }
?>
Nahoru Odpovědět 6.3.2013 15:58
Motto FTW !
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na ManiusCZ
Drahomír Hanák:

Tohle bych řešil přes triggery (záleží na databázi). Podle mě je to ale špatný návrh a měl bys to udělat jinak.

Na tom kódu je špatně víc věcí. Neošetřuješ vstup ani výstup a taky vypisuješ hodnoty mimo cyklus. Zkus se podívat tady na nějaké tutoriály o PHP http://www.itnetwork.cz/…ogramy-v-php

 
Nahoru Odpovědět 6.3.2013 16:03
Avatar
Kit
Redaktor
Avatar
Odpovídá na ManiusCZ
Kit:

Myslím si, že v tom kódu bude SQL injection fungovat velmi dobře :)

Místo mysqli_fetch_a­rray() patří asi mysqli_fetch_as­soc(). Nevím to jistě, ovladač MySQLi jsem přeskočil.

Nahoru Odpovědět 6.3.2013 16:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
ManiusCZ
Člen
Avatar
ManiusCZ:

Každopádně mám blank page :-/

Nahoru Odpovědět 6.3.2013 16:08
Motto FTW !
Avatar
Kit
Redaktor
Avatar
Odpovídá na Drahomír Hanák
Kit:

Triggery asi nebudou potřebné, ale tabulky by se skutečně měly dělat raději po řádcích.

Nahoru Odpovědět 6.3.2013 16:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
ManiusCZ
Člen
Avatar
ManiusCZ:

Sorry v myslel sem řádky :-D

Nahoru Odpovědět 6.3.2013 16:11
Motto FTW !
Avatar
ManiusCZ
Člen
Avatar
ManiusCZ:

Vymyslel jsem toto, to generuje tabulku, ale neodkazuje to :-(

<?php
$sqlCommand = "SELECT id, linklabel FROM pages WHERE showing='1' ORDER BY pageorder ASC";
$query = mysqli_query($myConnection, $sqlCommand) or die(mysqli_error());

echo '<table width="50%" border="1">';
        while ($row = mysqli_fetch_array($query)){
                $pid = $row["id"];
                $menuDisplay = '';
        $linklabel = $row["linklabel"];
                $menuDisplay .= '<a href="edit_page.php?pid=' . $pid . '">' . $linklabel . '</a><br />';
                        echo '<tr>';
                        echo '<td valign="top" bgcolor="#D5FFD5" style="border:#6B450C thin solid; line-height:1.5em;>'.$menuDisplay.'</td>';
                echo '</tr>';}
echo '</table>';

mysqli_free_result($query);
?>
Nahoru Odpovědět 6.3.2013 17:23
Motto FTW !
Avatar
Kit
Redaktor
Avatar
Odpovídá na ManiusCZ
Kit:

Možná stačilo jen posunout předposlední } o 3 řádky dolů...

Nahoru Odpovědět 6.3.2013 17:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
ManiusCZ
Člen
Avatar
ManiusCZ:

Nefachá :-/ pak se vypíše jenom první, a to stejně nikam neodkazuje !

Nahoru Odpovědět 6.3.2013 17:46
Motto FTW !
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ManiusCZ
David Čápka:

Na první pohled tam nevidím problém, zkus si vypsat třeba linklabely normálně pod sebe bez tabulky, jestli tam máš vůbec nějaká data. Když něco debuguješ, jde se vždy od jednoduchého ke složitému, ne že to ladíš od konce.

Nahoru Odpovědět 6.3.2013 19:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
ManiusCZ
Člen
Avatar
ManiusCZ:

Jo to funguje , jedou mi na tom články :-)

Nahoru Odpovědět 6.3.2013 21:10
Motto FTW !
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ManiusCZ
David Čápka:

Myslím tady v tom kódu žejo :P

Nahoru Odpovědět 6.3.2013 21:26
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.