x-kom hosting

generator

damianb369
utworzono
utworzono

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
komentarz

Pokaż przykład tego co napisałeś, a nie wyświetla się tak jak chciałeś.

Mycobacterium
komentarz
komentarz (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
komentarz

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
komentarz

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.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.