Autor Zpráva
Adrifinel
Profil *
$spojeni1 = $connect;
	if (!$spojeni1):
		echo "Nepodařilo se připojit k MySQL.<BR>\n";
		break;
	endif;
	MySQL_Select_DB("$db");
	$vysl1 = MySQL_Query("SELECT * FROM `users` WHERE jmeno LIKE '$pridal'");
    $zaznaml = MySQL_Fetch_Array($vysl1);

     		
    // admin commiting
         if ($leveln > 7 || $level == "hybrid-A"):
            echo "<form><fieldset><legend>Newsky zaslané návštěvníky čekající na potvrzení</legend>";

            @$vysledekrep = MySQL_Query("SELECT * FROM diginews WHERE zobrazit LIKE '0' ORDER BY ID DESC");
			
	

           		if (MySQL_Num_Rows($vysledekrep) != 0):
                	echo "<table class=nohover style='width: 98%'>
                    	   <thead><tr><th>#ID</th><th>Nadpis</th><th>Zaslal</th><th>Datum</th><th>Volby</th></tr></thead>";
                     while ($zaznam = MySQL_Fetch_Array($vysledekrep)) {
                          echo "<tr><td>".$zaznam['ID']."</td><td><a href=viewdiginews.php?ID=".$zaznam['ID'].">".$zaznam['$nadpis']."</a></td><td><a href='userprofile.php?info=".$zaznam['pridal']."'>".$zaznam['pridal']."</a></td><td>".$zaznam['datum']."</td><td><a href=php/commitdiginews.php?ID=".$zaznam['ID']."&commit=ano>Potvrdit</a><br><a href=php/commitdiginews.php?ID=".$zaznam['ID']."&commit=ne>Zamítnout</a></td></tr>";
						  	

                     }
                     echo "</table>";
                else:
             		echo "Nejsou žádné newsky čekající na potvrzení.";
                endif;

             echo "</table></fieldset></form><br>";
          endif;


Mám dvě tabulky, jednu uživatelskou a jednu pro novinky, no a podle tady toho:
$vysl1 = MySQL_Query("SELECT * FROM `users` WHERE jmeno LIKE '$pridal'");


by mi to mělo rozpoznávat, že hodnota jmeno je rovna hodnotě pridal. (teda pokud tomu dobře rozumím). Zkusila jsem test echem a ten mi vypisuje jenom hodnotu pridal, nikoliv jméno.
Michal Benda
Profil
Adrifinel:
by mi to mělo rozpoznávat, že hodnota jmeno je rovna hodnotě pridal. (teda pokud tomu dobře rozumím). Zkusila jsem test echem a ten mi vypisuje jenom hodnotu pridal, nikoliv jméno.

Moc nechápu na co se ptáš. Tento dotaz ...

SELECT * FROM `users` WHERE jmeno LIKE '$pridal'


znamená (přeloženo do češtiny): "Vyber mi všechny sloupce uživatele jehož jméno je stejné jako hodnota proměnné pridal."
Takže by to mělo vrátit jeden výsledek (pokud je tabulka správně navržena) a toho konkrétního uživatele.

Navíc v tvé ukázce kódu po provedení tohoto dotazu s výsledkem dále nepracuješ. Uživatele, který napsal tu tzv. newsku získáváš až z té druhé tabulky.

<a href='userprofile.php?info=".$zaznam['pridal']."'>
jenikkozak
Profil
Adrifinel:
Trochu mimo téma:
$vysl1 = MySQL_Query("SELECT * FROM `users` WHERE jmeno LIKE '$pridal'");
Příkaz LIKE nedokáže využít indexů tabulky, proto bude vyhledávání náročnější. Bylo by proto v tomto případě lepší nahradit ho znakem „rovná se“.

Místo jména uživatele by bylo lepší ukládání jeho id.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0