Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Caros amigos, tenho um projeto de um web site, que serve pra exibir vídeos.. atualmente estou colocando uma função que exibe por categoria, segue o código:
<?php
$selectcat = $_GET['selectcat']; // Aqui ele pega a "variable" do javascript
if ($selectcat == "Todos") // faz a seleção do campo <option> da página
$selectcat = '.'; // aqui é o problema
?>
</script>
<?php
$query = mysql_query("SELECT * FROM videos WHERE categoria = '$selectcat'")or die(mysql_error()); // seleciona tudo da tabela, onde categoria é igual a variável $selectcat.
ele é bem simples, ele dá um get em uma variável em java script que pega um valor de um option..
o problema está no if.. se for todos.. $selectcat = '.', porém não funciona e eu quero selecionar todos os vídeos, com todas as categorias.Por favor ajudem-me!
<form name="form1">
<select name="selectcat">
<option value="Todos">Todos</option>
<option value="Irritante">Irritante </option>
<option value="Vídeo">Vídeo </option>
<option value="Vine">Vine </option>
</select>
<input type="button" id="button" name="button" Onclick='getValue()' value=" OK ">
<script>
function getValue() {
var doc = document.form1;
var selectcat = (doc.selectcat.options[doc.selectcat.selectedIndex].text);
window.location.href = "index.php?selectcat=" + selectcat;
}
</script>
</form>
</td>
</div>
<?php
$selectcat = $_GET['selectcat']; // Aqui ele pega a "variable" do javascript
if ($selectcat == "Todos") // faz a seleção do campo <option> da página
$selectcat = '.'; // aqui é o problema
?>
</script>
<?php
$query = mysql_query("SELECT * FROM videos WHERE categoria = '$selectcat'")or die(mysql_error()); // seleciona tudo da tabela, onde categoria é igual a variável $selectcat.Se a sua seleção for = "Todos", como assim $selectcat = '.';? O que você deseja fazer, com essa linha, ou com essa verificação?
Se a sua seleção for = "Todos", como assim $selectcat = '.';? O que você deseja fazer, com essa linha, ou com essa verificação?
essa função, vai alterar o método de exibir:
-
$query = mysql_query("SELECT * FROM videos WHERE categoria = '$selectcat'")or die(mysql_error()); // seleciona tudo da tabela, onde categoria é igual a variável $selectcat.
eu queria que esse selectcat alterasse o método de exibição da categoria, o sistema filta os dados por categoria, ou seja, na parte: WHERE categoria = 'Legal'", ele só vai exibir vídeos com essa categoria. O objetivo dessa função do if é mandar um comando para exibir todas, oque não está acontecendo.veja tentei fazer aqui de outra maneira testa ai
<script language="JavaScript" type="text/JavaScript">
ok=false;
function SelecionarTodos() {
if(!ok){
for (var i=0;i<document.usuarios.elements.length;i++) {
var x = document.usuarios.elements[i];
if (x.name == 'selectcat[]') {
x.checked = true;
ok=true;
}
}
}else{
for (var i=0;i<document.usuarios.elements.length;i++) {
var x = document.usuarios.elements[i];
if (x.name == 'selectcat[]') {
x.checked = false;
ok=false;
}
}
}
}
</script>
<form name="form1" method="post">
<input name="checkbox" type="checkbox" onClick="SelecionarTodos();"/>
<input type='checkbox' name='selectcat[]' value='Irritante' />
<input type='checkbox' name='selectcat[]' value='Vídeo' />
<input type='checkbox' name='selectcat[]' value='Vine' />
<input type="submit" name="enviar" value=" OK "></form>
</td>
</div>
<?php
if(isset($_POST['enviar'])){
$opcoes = $_POST['selectcat'];
if ($opcoes == '') {
echo"<center>Selecione alguma opcao.</center>";
}else{
$t = implode(", ", $opcoes);
$sql = mysql_query("SELECT * FROM videos WHERE id in (" . $t . ")")or die(mysql_error());
$exibir = mysql_num_rows($sql);
echo $log['nome'];
}
}
?>1 outra lógica bem + simples, sem javascript:
$categoria=$_POST['selectcat'];
if($categoria=='todos')
{
mysqlquery= select * from videos
}
else
{
mysqlquery= select * from videos where categoria='$categoria'
}
Posso tentar lhe ajudar. Poste o resto do código, onde esta o campo <option>. Não entendi, a parte do IF, como assim? Poderia explicar mais claramente?