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

Proponowane posty.

VPS Starter Arubacloud
0 głosów
151 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 359 wizyt
pytanie zadane 27 marca 2017 w Sprawy forum przez lukas$ Gaduła (3,390 p.)
0 głosów
0 odpowiedzi 183 wizyt
pytanie zadane 4 lutego 2018 w PHP przez Gucci Gaduła (4,580 p.)
0 głosów
3 odpowiedzi 903 wizyt
pytanie zadane 1 października 2018 w PHP przez lukasz290521 Obywatel (1,410 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...