• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Proponowane posty.

Object Storage Arubacloud
0 głosów
168 wizyt
pytanie zadane 7 kwietnia 2017 w PHP przez Mateusz Patalan Bywalec (2,140 p.)

Witajcie. Posiadam bloga i chciałbym żeby pod koniec każdego artykułu, wyświetliły sie proponowane (losowe) posty.

Posiadam taka tabelę w MySQL:

1 odpowiedź

0 głosów
odpowiedź 7 kwietnia 2017 przez Mariusz08 Maniak (62,300 p.)
W PHP losujesz pewną liczbę, dajesz ją do zmiennej, w zapytaniu do bazy danych wpisujesz żeby pobrał rekord o wylosowanym id.
komentarz 7 kwietnia 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Id jest w formie tekstu.
komentarz 7 kwietnia 2017 przez Mariusz08 Maniak (62,300 p.)
<?php

$TwojaZmiennaZLosowymId=rand(1,5);

?>

W argumentach funkcji wpisujesz zakres

komentarz 7 kwietnia 2017 przez Mateusz Patalan Bywalec (2,140 p.)
Nie rozumiem. W jaki sposób mam to wyciągnąć z tabeli, jeżeli id nie jest cyfrą?
komentarz 7 kwietnia 2017 przez Mariusz08 Maniak (62,300 p.)
A przepraszam musiałem coś przeoczyć. Może zmień kolumne i zamiast id daj np. tytul i wtedy utwórz kolumnę id z liczbami (INT) A_I, zresztą po co Ci ten sam tekst w id oraz w nagłówku?
komentarz 7 kwietnia 2017 przez Mateusz Patalan Bywalec (2,140 p.)

http://star-wars-blog.wex.pl/news.php?id=Spokojnie,%20mamy%20jeszcze%20po%C5%82ow%C4%99%20statku.-czyli%20najlepsze%20cytaty%20Obi-Wana

Obczaj ten link. Możesz zauważyć że w id nie ma nawiasu (nie może być), a na początku artykułu z nawiasem.

 

komentarz 7 kwietnia 2017 przez Mariusz08 Maniak (62,300 p.)
W tym przypadku najprostszym sposobem jaki jest, to dodanie kolumny w bazie danych z AI oraz typem INT. Możesz ją nazwać np. id2 i wtedy będziesz pobierał dane z bazy przy użycie wylosowanego numeru w kolumnie id2. Inaczej nie da się tego zrobić. Nie można losować artykułów w bazie bez jakiegoś pola zaczepienia. Nie będziesz chyba losował liter.
komentarz 7 kwietnia 2017 przez HaKIM Szeryf (87,590 p.)
Da się. Wyciąga all do tablicy i losuje po indexach. Marny i niewydajny sposób - odradzam.
komentarz 7 kwietnia 2017 przez Mariusz08 Maniak (62,300 p.)
Niewydajny sposób - a jak będzie np. 500 wpisów, to pobierać je na serwer wraz z treścią i losować? ...
komentarz 7 kwietnia 2017 przez Bosswell Nałogowiec (36,470 p.)
Możesz użyć w zapytaniu sql ORDER BY kolumna RAND() LIMIT 6

W tabeli id nie umieszczaj tego samego co w nagłówku, lecz autoikrementuj ją i ustaw jako klucz podstawowy
komentarz 7 kwietnia 2017 przez Assasz Nałogowiec (30,460 p.)
Id jako string i do tego duplikat innego atrybutu... po co tak komplikować?
komentarz 8 kwietnia 2017 przez Mateusz Patalan Bywalec (2,140 p.)

Udało mi się napisać taki kod:
 

$query = mysql_query("select * from news order by data DESC");
while($rekord = mysql_fetch_array($query))
{
include("skrot.php");
$naz .= '<a href="news.php?id='.$rekord[0].'"><div class="propozycja" style="width:950px; height:220px; margin:25px; border-bottom: 1px solid #222222; color:black; text-decoration:none;"><img src='.$rekord[5].' height=200px width=300px align=left><h2 style="margin:0;">'.$rekord[1].'</h2><i>'.$rekord[2].'/'.$rekord[3].'</i>'.substr($rekord[4], 0, 150).''.$kr.'</div></a>';
}
echo "$naz";

Działa, ale mam pytanie: Jak sprawić aby nie losował się link do artykułu na którym jesteśmy?

komentarz 8 kwietnia 2017 przez Mariusz08 Maniak (62,300 p.)

WHERE id NOT IN(tutaj id wyświetlanego artykułu)

komentarz 8 kwietnia 2017 przez Assasz Nałogowiec (30,460 p.)
Dokładnie ;)

Podobne pytania

0 głosów
0 odpowiedzi 378 wizyt
pytanie zadane 27 marca 2017 w Sprawy forum przez lukas$ Gaduła (3,390 p.)
0 głosów
0 odpowiedzi 187 wizyt
pytanie zadane 4 lutego 2018 w PHP przez Gucci Gaduła (4,580 p.)
0 głosów
3 odpowiedzi 924 wizyt
pytanie zadane 1 października 2018 w PHP przez lukasz290521 Obywatel (1,410 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...