NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Výpis z databáze do jednotlivých sectionů

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
David Futera
Člen
Avatar
David Futera:6.8.2016 12:20

Ahoj, mám takový problém. Potřeboval bych, aby se mi z databáze vypsalo jedno (jeden řádek v databázi) jméno s příjmením, ale do každého sectionu podle ID.

<section>
        <img src="example.png" alt="your name" class="first-image">
        <p class="name">There I need user by ID from database</p>
        <hr>
        <p class="text-in-box">Some text<span style="color:#3399ff">Some other text</span></p>
</section>
                        <section>

                                <img src="user.png" alt="your name" class="for-while">

                                <?php
                                // Create connection
                                $conn = new mysqli($servername, $username, $password, $dbname);
                                // Check connection
                                if ($conn->connect_error) {
                                    die("Connection failed: " . $conn->connect_error);
                                }
                                $sql = "SELECT name, surname FROM user Where ID = '1'";
                                $result = $conn->query($sql);

                                if ($result->num_rows > 0) {
                                    // output data of each row
                                    while($row = $result->fetch_assoc()) {
                                        **echo "<p class='name'>" . $row["name"] . " ". $row["surname"] . "</p>";** // Tady se vypiše uživatel.
                                    }
                                } else {
                                    echo "0 results";
                                }
                                $conn->close();
                                ?>
                                <hr>
                                <p class="text-in-box">Some text<span style="color:#3399ff">Some other text</span>              </p>
                        </section>

//další sectiony

<section>
</section>

Podařilo se mi zplodit nějak tohle a napadlo mě, že bych mohl napsat ručně do každého sectionu tohle ručně a akorát zaměnit proměnné a v $sql změnit WHERE id = "2" a takhle pokračovat, ale to je neefektivní. Předpokládám že to půjde nějak, aby se vždy navýšila hodnota ID o 1. Budu rád za každou radu.

P.S. jsem začátečník v PHP (ano skočil jsem rovnou k databázím). Potřebuju do projektu jenom tenhle lehký PHP script a nechce se mi kvůli tomu učit teď samotné PHP, to mám v plánu později..

 
Odpovědět
6.8.2016 12:20
Avatar
Petr Langer
Člen
Avatar
Petr Langer:6.8.2016 15:34

Natáhni si z DB všechny řádky a pak přes foreach vypiš přes echo html kód a k tomu připoj data z DB. Pro každej řádek se ti vypíše danej kód, co budeš mít u každýho záznamu stejnej plus daný data

 
Nahoru Odpovědět
6.8.2016 15:34
Avatar
Petr Langer
Člen
Avatar
Odpovídá na David Futera
Petr Langer:6.8.2016 15:50
<?php
 $conn = new mysqli($servername, $username, $password, $dbname);
                                // Check connection
                                if ($conn->connect_error) {
                                    die("Connection failed: " . $conn->connect_error);
                                }
                                $sql = "SELECT name, surname FROM user";
                                $result = $conn->query($sql);
echo('<section><img src="user.png" alt="your name" class="for-while">');
foreach ($result as $user)
{
        echo ('<p class="name">' . $user['name'] . ' '. $user['surname'] . '</p>');
        echo('<hr><p class="text-in-box">Some text<span style="color:#3399ff">Some              other text</span></p></section>');
}
$conn->close();
?>

Nevím jestli to bude fungovat protože s MySQLi pracovat neumím, ale zkusil jsem ten kód upravit tak jak si myslím, že by to mohlo jít.. Jinak doporučuju pročíst si zdejší tutoriály a používat databázový wrapper, je to odost jednodušší

Editováno 6.8.2016 15:52
Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět
6.8.2016 15:50
Avatar
David Futera
Člen
Avatar
David Futera:6.8.2016 16:12

Tak zkouším, ale nemůžu se pořád nějak dohrabat k výsledku. Nehodil by jsi mi sem ukázku kódu, nebo mě neotkázal na podobný problém?

EDIT: Nerelouadnul jsem dlouho stránku :-`

Editováno 6.8.2016 16:13
 
Nahoru Odpovědět
6.8.2016 16:12
Avatar
David Futera
Člen
Avatar
David Futera:6.8.2016 16:32

Petr Langer Tak v kódu bylo pár drobných bych, ale díky němu jsem se už dohrabal k tomu co jsem potřeboval. Moc děkuji :-)

 
Nahoru Odpovědět
6.8.2016 16:32
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 5 zpráv z 5.