Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

[ROZWIĄZANE] Wyświetlanie danych po wciśnięciu guzika akcji w pętli

php

Najlepsza odpowiedź ZepA***, 06.07.2013 09:19

W warunku 

  1. if(isset($_POST['ok1']))

Nie możesz używać zmiennej $to poniewaz taka zamienna nie istnieje.

Do formularza musisz dopisac taką linikę:

<input type="hidden" name="twojanazwa" value="'.$to.'" />

Później zmieniasz to:

if(isset($_POST['ok1']))
{	
			echo '<div class="message"><center>Test skrót::<b> '.$to; 
			echo '</div>';
}

Na to:

if(isset($_POST['ok1']))
{	
			echo '<div class="message"><center>Test skrót::<b> '.$_POST['twojanazwa']; 
			echo '</div>';
}
Przejdź do postu


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 kijkol

    Profesjonalista

  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:174
  • Lokalizacja:Witów
Offline

Napisano 05.07.2013 13:43

Witam.

Mam pytanie, ale ciężko je nazwać.

Zrobiłem coś takiego:

if(mysql_num_rows($wynik) > 0 && $weryfikacja==1) { 
    while($r = mysql_fetch_assoc($wynik)) { 
$i=0+1;
$to=$r['skrot']; 
        echo "<tr>"; 
echo "<td style=\"width: 5%\" align=\"center\">$i</td>"; 
        echo "<td style=\"width: 10%\" align=\"center\">".$r['lider']."</td>"; 
        echo "<td style=\"width: 10%\" align=\"center\">".$r['vlider']."</td>"; 
echo "<td style=\"width: 25%\" align=\"center\">".$r['nazwa']."</td>";
echo "<td style=\"width: 10%\" align=\"center\">".$r['skrot']."</td>";
echo "<td style=\"width: 10%\" align=\"center\"><a class=\"input_submit alt\" href=gildie.php?to=$to>Pokaż</a></td>"; 
        echo "</tr>";
    } 
} 

I teraz chciałbym, aby po wciśnięciu przycisku 'Pokaż' wyświetliło mi więcej danych pobranych z bazy mysql gdzieś niżej lub otworzyło nową stronę.

Wszystko działa link się robi taki jak powinien czyli: www.domena.pl/gildie.php?to=SKRÓT, ale strona się tylko odświeża. Nie mam pojęcia jak zrobić funkcję odczytania tego. Próbowałem już kilku wariantów i ciągle nic raz mi się udało z formularzem, ale źle odczytuje dane ;[

 

Tak wygląda funkcja z formularza:

if(mysql_num_rows($wynik) > 0 && $weryfikacja==1) { 
		while($r = mysql_fetch_assoc($wynik)) { 
		$i=$i+1;
		$to=$r['skrot']; 
        echo "<tr>"; 
		echo "<form action=\"gildie.php?pokaz=$to\" method=\"POST\"><td style=\"width: 5%\" align=\"center\">$i</td>"; 
        echo "<td style=\"width: 10%\" align=\"center\">".$r['lider']."</td>"; 
        echo "<td style=\"width: 10%\" align=\"center\">".$r['vlider']."</td>"; 
		echo "<td style=\"width: 25%\" align=\"center\">".$r['nazwa']."</td>";
		echo "<td style=\"width: 10%\" align=\"center\">".$r['skrot']."</td>";
		echo "<td style=\"width: 10%\" align=\"center\"><input type=\"submit\" name=\"ok1\" class=\"input_submit alt\" value=\"Pokaż\"></FORM></td>"; 
        echo "</tr>";
    } 
}
if(isset($_POST['ok1']))
{	
			echo '<div class="message"><center>Test skrót::<b> '.$to; 
			echo '</div>';
}

Cały czas wykrywa ostatni skrót z bazy

 


Użytkownik kijkol edytował ten post 05.07.2013 14:04

  • +
  • -
  • 0

#2 ZepA***

    Zaawansowany

  • Użytkownik

Reputacja: 24
Życzliwy

  • Postów:136
  • Steam:steam
  • Lokalizacja:Walce
Offline

Napisano 06.07.2013 09:19   Najlepsza odpowiedź

W warunku 

  1. if(isset($_POST['ok1']))

Nie możesz używać zmiennej $to poniewaz taka zamienna nie istnieje.

Do formularza musisz dopisac taką linikę:

<input type="hidden" name="twojanazwa" value="'.$to.'" />

Później zmieniasz to:

if(isset($_POST['ok1']))
{	
			echo '<div class="message"><center>Test skrót::<b> '.$to; 
			echo '</div>';
}

Na to:

if(isset($_POST['ok1']))
{	
			echo '<div class="message"><center>Test skrót::<b> '.$_POST['twojanazwa']; 
			echo '</div>';
}

  • +
  • -
  • 1

Dołączona grafika
------------------------------------
Dołączona grafika


#3 kijkol

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:174
  • Lokalizacja:Witów
Offline

Napisano 06.07.2013 20:18

Dzięki wielkie zrobiłem coś takiego i działa wyśmienicie:

if(isset($_POST['ok1']))
{	
	$a = $_POST['pokaz'];
	$wynik = mysql_query("SELECT * FROM `kn_gildie` WHERE skrot='$a'");
	$r = mysql_fetch_array($wynik);
	$skrot=$r['skrot'];
	$lider=$r['lider'];
	echo '<div class="message"><center>Test skrót:<b> '.$skrot;
	echo 'Lider:<b> '.$lider; 
	echo '</div>';
}

Do zamknięcia ;]


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: php

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych