damianb369 utworzono 10 grudnia 2013 utworzono 10 grudnia 2013 Chcę stworzyć generator który będzie pobierał informacie z bazy danych. Mam problem z rozmieszczeniem tych informacji na stronie. W załączniku schemat jaki chcę uzyskać. Nie chodzi mi o otrzymanie idealnego takiego wyglądu tylko o odpowiednie rozmieszczenie tych elementów. Wszelkie późniejsze formatowania sam jestem wstanie wykonać. Za każdym razem gdy próbuję wykonać taką czynność to mi się rozsypują poszczególne komórki. Będę wdzięczny za wszelką pomoc. :-)
leggo komentarz 16 grudnia 2013 komentarz 16 grudnia 2013 Pokaż przykład tego co napisałeś, a nie wyświetla się tak jak chciałeś.
Mycobacterium komentarz 16 grudnia 2013 komentarz 16 grudnia 2013 (edytowane) Nie opisałeś jasno o co ci konkretnie chodzi, jaką funkcje ma spełniać taki generator, wnoskuje, że interesuje Cię wyciągnięcie wartości z bazy danych i przekazanie ich na stronę ?? Napisze prosty przykład, pamiętaj jednak, że odwołuje się do Bazy danych bezpośrednio z poziomu skryptu, i nie jest to bezpieczne rozwianie. Drugą sprawą jest podatność na wstrzyknięcie kodu, od Ciebie wyłącznie zależy jakie funkcje będą chroniły to co przetwarza skrypt. Złącz sobie później cały kod w całość, jedno pod drugim: Łączymy się z baz danych, wykonujemy zapytanie do bazy, wyciągamy z bazy informacje: //Nadamy sobie stałą zmienną $userident_no = "grzesiek" // Prepared Statement $db = new mysqli('adresbazydanych', 'dbo', 'haslodobazy', 'db'); $db -> query("SET NAMES 'latin2'"); // Ustalamy sobie kodowanie $stmt = $db->stmt_init(); if($stmt->prepare("SELECT `user_id`, `user_name`, `first_name`, `last_name`, `email`, `registration_date` FROM `mojabaza` WHERE `user_name` = ?")) { $stmt->bind_param('s', $u); // Gdzie s oznacza string - nadajemy mu zmienna $u czyli grzesiek - tak więc ? będzie $u czyli grzesiek - zamiast s może być np: d czyli decimal wartości liczbowe $u = "$userident_no"; $stmt->execute(); $stmt->bind_result($uid, $unam, $fnam, $lnam, $mail, $reg); // Informacje z bazy musimy gdzieś wsadzić, do tego celu będzie służyć bind_results while($stmt->fetch()) { Na dobry początek musisz wiedzieć, że zaraz po WHERE gdzie znajdziesz pytajnik, trzeba wprowadzić jakąś wartość. Wartość może być dynamiczna, możesz sobie wyciągać do zmiennej np username z cookie's w taki sposób: $userident_no= $_COOKIE["user_name"]; Wszystko zależy od twojej wyobraźni ;) echo ' <table align="center" border="0" cellpadding="4" cellspacing="1" class="admin_table"> <tbody> INFORMACJE: <tr class="main_row_color"> <td style="width:2%;"><b>ID</b></a></td> <td style="width:10%; padding-left: 10px;" colspan="2"><b>Username</b></td> <td style="width:10%;"><b>Imię</b></td> <td style="width:15%;"><b>Nazwisko</b></td> <td style="width:15%;"><b>Email</b></td> </tr> <tr class="row1_color"> <td style="color: #000;"><font style="margin-left: 2px;">' . intval($uid) .'</font></td> <td style="width:1%;"></td> <td style="color: #000;"><font style="margin-left: 5px;">' . stripslashes($unam) .'</font></td> <td><font style="margin-left: 5px; color: #000;">' . stripslashes($fnam) .'</font></td> <td style="color: #000;"><font style="margin-left: 5px;">' . stripslashes($lnam) .'</font></td> <td style="color: #000;"><font style="margin-left: 5px;">' . stripslashes($mail) .'</font></td> </tr> </tbody> </table> <br /> '; } Robisz sobie kod html wrzucasz do niego informacje wyciągnięte z bazy danych. Zwróć uwagę na stripslashes oraz intval. $stmt->close(); $db->close(); } else { // Jezeli zapytanie nie zostalo wykonane pomyslnie. printf("<p>Operacja zakończona błędem.<br />Prosimy o pocałowanie się w nos wszystkich wielkich znawców kodowania :) Łaski nie robicie, że odpisujecie :)</p><br /><p> %s\n", $db->error); $stmt->close(); $db->close(); exit(); } Jeśli coś pójdzie nie tak, otrzymamy komunikat zawierający stosowne informacje. Nie chodzi mi o otrzymanie idealnego takiego wyglądu tylko o odpowiednie rozmieszczenie tych elementów. To proste, tworzysz kod html i wrzucasz do niego zmienne, które nadałeś wyciągając z bazy danych interesujące cię wartości .. <td style="color: #000;"><font style="margin-left: 5px;">' . stripslashes($jakasnadanazmienna) .'</font></td> Pamiętaj, skrypt przetwarzany jest z góry do dołu, rozmieszczaj kod z głową ..
damianb369 komentarz 17 grudnia 2013 Autor komentarz 17 grudnia 2013 Dzięki za pomoc. Akurat wczoraj jeszcze siedziałem nad tym i ustawiłem to blokowo dzięki div-om (przykład umieściłem w poprzednim moim poście bo tam mam troche inny problem). O ile tabela jest łatwa w ułożeniu to jeżeli mamy bardzo długi tekst to nie przeskakuje on do następnej linijki (tak przynajmniej wyczytałem na jakiejś stronce, bo nie jestem specjalistą). No ale oczywiście dzięki za zaangażowanie i pomoc.
Mycobacterium komentarz 17 grudnia 2013 komentarz 17 grudnia 2013 Jeśli ustalisz stałą szerokość obiektu, marginesy w środku, żeby to ładniej wyglądało, będzie się łamał .. Nadawaj atrybuty w CSS .. Zrób sobie jakiś arkusz stylów, i testuj ..
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.