Jump to content

mais uma duvida de um iniciante


Recommended Posts

Posted

bem, estou com mais uma duvida... desta vez quero ir buscar um valor a uma tabela no registo k tem um certo nome só k ele nao faz isso :S nao sei pq.... dá sempre o erro k nao consegue fazer o mysql_fetch..

<?php

if ($_GET['option'] == '') {

echo'
	<style type="text/css">
	<!--
	.style20 {
		font-family: Verdana, Arial, Helvetica, sans-serif;
		font-size: 12px;
	}
	.style25 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
	.style28 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
	-->
	</style>
	<form>
		<table width="100%" border="0" cellpadding="3" cellspacing="0">
	      <tr>
	        <td background="images/barra.jpg"><span class="style20">Lista | Editar Icones</span></td>
	      </tr>
	      <tr>
			<table width="100%" border="1" bordercolor="#333333" cellpadding="3" cellspacing="0" style="border-collapse: collapse">
			  <tr bgcolor="#999999">
			    <td class="style25">Editar</td>
		        <td><span class="style25"  width="100">Imagem</span></td>
		        <td><span class="style25">Nome</span></td>
			  </tr>';

				//Dados DataBase
				$localhost = 'localhost';
				$db_name = 'rr_jrodrigues';
				$user = 'rr_root';
				$password = '';
				$username = $_GET['username'];

				//ligação á DataBase
				$link = mysql_connect($localhost,$user,$password);

				//Seleciona DataBase
				$db = mysql_select_db($db_name,$link);

				//Query SQL
				$consulta = "SELECT url, name FROM icon";

				//resultado da query
				$resultado = mysql_query($consulta, $link);

				//introdução dos dados do resultado da query numa caixa pendente
				while($linha = mysql_fetch_row($resultado)){
					printf("<tr bgcolor='#CCCCCC'>");
					printf("<td><span class='style28'><center><a href='redirect.php?site=filmes/editar_icones&option=editar_icones&username=$username&name=$linha[1]'><u>Editar</u></a><center></span></td>");
					printf("<td width='100'><span class='style28'><center><img src='$linha[0]' height='32' width='32'></center></span></td>");
					printf("<td><span class='style28'><center>$linha[1]</center></span></td>");
					printf("</tr>");
				};

				mysql_close($link);
echo '
			</table>
	      </tr>
	    </table>
	</form>';
}
else {

//Dados DataBase
$localhost = 'localhost';
$db_name = 'rr_jrodrigues';
$user = 'rr_root';
$password = '';
$username = $_GET['username'];
$name = $_GET['name'];

//ligação á DataBase
$link = mysql_connect($localhost,$user,$password);

//Seleciona DataBase
$db = mysql_select_db($db_name,$link);

        //O ERRO ESTÁ AQUI....

//Query SQL
$consulta = "SELECT url FROM icon where name = $name";

//resultado da query
$resultado = mysql_query($consulta, $link);

$linha = mysql_fetch_row($resultado);

echo'
	<style type="text/css">
	<!--
	.style1 {
		font-family: Verdana, Arial, Helvetica, sans-serif;
		font-size: 12px;
	}
	.style4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
	-->
	</style>
		<form action="content/filmes/opcao_icones.php?option=editar_icones&url='.$linha[0].'" method="post">
	      	<table width="200" border="0" cellpadding="3" cellspacing="1" align="center">
			  <tr>
				<td colspan="2" background="images/barra.jpg"><span class="style1">Editar Icone</span></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
				<td><span class="style4">Icone:</span></td>
				<td><img src="'.$linha[0].'" width="32" height="32"></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
				<td class="style4">Nome: </td>
				<td><input type="text" name="name" size="20" value="'. $name. '"></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
				<td class="style4">Utilizador: </td>
				<td><input type="text" name="username" size="20" value="'. $username. '"></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
			    <td colspan="2"><input type="submit" name="Submit" value="Editar">
	              <input type="reset" name="Submit2" value="Apagar"></td>
		      </tr>
			</table>
		</form>';
}


?>

www.rgcouto.net

Posted

experimenta assim, faz primeiro a ligação, e dps poe o if

<?php

				//Dados DataBase
				$localhost = 'localhost';
				$db_name = 'rr_jrodrigues';
				$user = 'rr_root';
				$password = '';
				$username = $_GET['username'];

				//ligação á DataBase
				$link = mysql_connect($localhost,$user,$password);

				//Seleciona DataBase
				$db = mysql_select_db($db_name,$link);

if ($_GET['option'] == '') {

echo'
	<style type="text/css">
	<!--
	.style20 {
		font-family: Verdana, Arial, Helvetica, sans-serif;
		font-size: 12px;
	}
	.style25 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
	.style28 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
	-->
	</style>
	<form>
		<table width="100%" border="0" cellpadding="3" cellspacing="0">
	      <tr>
	        <td background="images/barra.jpg"><span class="style20">Lista | Editar Icones</span></td>
	      </tr>
	      <tr>
			<table width="100%" border="1" bordercolor="#333333" cellpadding="3" cellspacing="0" style="border-collapse: collapse">
			  <tr bgcolor="#999999">
			    <td class="style25">Editar</td>
		        <td><span class="style25"  width="100">Imagem</span></td>
		        <td><span class="style25">Nome</span></td>
			  </tr>';



				//Query SQL
				$consulta = "SELECT url, name FROM icon";

				//resultado da query
				$resultado = mysql_query($consulta, $link);

				//introdução dos dados do resultado da query numa caixa pendente
				while($linha = mysql_fetch_row($resultado)){
					printf("<tr bgcolor='#CCCCCC'>");
					printf("<td><span class='style28'><center><a href='redirect.php?site=filmes/editar_icones&option=editar_icones&username=$username&name=$linha[1]'><u>Editar</u></a><center></span></td>");
					printf("<td width='100'><span class='style28'><center><img src='$linha[0]' height='32' width='32'></center></span></td>");
					printf("<td><span class='style28'><center>$linha[1]</center></span></td>");
					printf("</tr>");
				};

				mysql_close($link);
echo '
			</table>
	      </tr>
	    </table>
	</form>';
}
else {

        //O ERRO ESTÁ AQUI....        POIS, AQUI TA O PROBLEMA

//Query SQL
$consulta = "SELECT url FROM icon where name = '$name'";

//resultado da query
$resultado = mysql_query($consulta, $link);

$linha = mysql_fetch_row($resultado);

echo'
	<style type="text/css">
	<!--
	.style1 {
		font-family: Verdana, Arial, Helvetica, sans-serif;
		font-size: 12px;
	}
	.style4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
	-->
	</style>
		<form action="content/filmes/opcao_icones.php?option=editar_icones&url='.$linha[0].'" method="post">
	      	<table width="200" border="0" cellpadding="3" cellspacing="1" align="center">
			  <tr>
				<td colspan="2" background="images/barra.jpg"><span class="style1">Editar Icone</span></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
				<td><span class="style4">Icone:</span></td>
				<td><img src="'.$linha[0].'" width="32" height="32"></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
				<td class="style4">Nome: </td>
				<td><input type="text" name="name" size="20" value="'. $name. '"></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
				<td class="style4">Utilizador: </td>
				<td><input type="text" name="username" size="20" value="'. $username. '"></td>
			  </tr>
			  <tr bgcolor="#CCCCCC">
			    <td colspan="2"><input type="submit" name="Submit" value="Editar">
	              <input type="reset" name="Submit2" value="Apagar"></td>
		      </tr>
			</table>
		</form>';
}


?>

como $name  e uma variavel e nao uma string, tem que ficar dentro das aspas

Proud LEIC-A@IST student!

Posted

fixe, já funcionou 👍 olha mas entretanto surgiu-me outra duvida como é k eu posso fazer com k os resultados de uma tabela aparecam de baixo para cima (ou seja do ultimo registo para o primeiro)??

www.rgcouto.net

Posted

tens de colocar na query sql ORDER BY nm_do_campo DESC

$consulta = "SELECT url FROM icon WHERE name = '$name' ORDER BY campo_id DESC";

tens DESC (Decrescente) e ASC (Ascendente)

  • 2 weeks later...
Posted

estou com um problema :S (mais um, lool)

<?php

$server = 'localhost';
$username = 'rr_root';
$password= '';
$db_name = 'rr_flexasbar';

$link = mysql_connect($server,$username,$password);

$db = mysql_select_db($db_name,$link);


if ($_GET['option'] == "nova_foto") {
// ==============
// Configuration
// ==============
$uploaddir = "media/fotos"; // Where you want the files to upload to - Important: Make sure this folders permissions is 0777!
$prefix ="../../../";
// ==============
// Upload Part
// ==============
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
	move_uploaded_file($_FILES['file']['tmp_name'],$prefix.$uploaddir.'/'.$_FILES['file']['name']);
	$file_name = $uploaddir.'/'.$_FILES['file']['name'];
}

$name = $_POST["name"];
$user = $_POST["username"];
$section = $_POST["section"];
$date = date('y-m-d H:i:s');

$query = "SELECT id FROM section WHERE name = $section";

$resultado = mysql_query($query,$link);

         //aparece-me aqui o erro, nao deixa fazer a linha seguinte..
$linha = mysql_fetch_row($resultado);

$section = $linha;

$query = "INSERT INTO photos (section, name, file_name, date, user) VALUES ('$section', '$name','$file_name','$date','$user')";

$resultado = mysql_query($query,$link);

header("Location: ../../redirect.php?site=fotos/editar_fotos&username=$user");

} elseif ($_GET['option'] == "editar_fotos") {

$name = $_POST["name"];
$date = date('y-m-d H:i:s');
$user = $_POST["username"];
$id = $_GET["id"];

$query = 'UPDATE photos set name = "'.$name.'", date = "'.$date.'" where id = '.$id;

$resultado = mysql_query($query);

header("Location: ../../redirect.php?site=fotos/editar_fotos&username=$user");

} elseif ($_GET['option'] == "apagar_fotos") {


$id = $_GET["id"];
$filename = $_GET["filename"];

$query = "DELETE FROM photos where id = $id";

$resultado = mysql_query($query,$link);

$redirect = $_GET['linkbefore'];
$username = $_GET['username'];

header("Location: ../../redirect.php?site=fotos/apagar_fotos&username=$username");

unlink("../../".$filename);

}

mysql_close($link);
?>

o problema é o seguinte, quando recebo dados de um form para este ficheiro quando a opcao = nova foto quando pretendo saber o id da section a partir do $section dá-me erro no mysql_fetch_row...

alguém me pode ajudar??

www.rgcouto.net

Posted
	$resultado = mysql_query($query,$link);

         //aparece-me aqui o erro, nao deixa fazer a linha seguinte..
$linha = mysql_fetch_row($resultado);

$section = $linha;

a mim as vezes tb da esse erro, tens ke por:


         //aparece-me aqui o erro, nao deixa fazer a linha seguinte..
$linha = mysql_fetch_row(mysql_query($query,$link));

$section = $linha;

Proud LEIC-A@IST student!

Posted

@rgcouto acho que já encontrei o erro...

$query = "SELECT id FROM section WHERE name = $section";

Como valor de  $section deve ser uma string tens que colocar assim

$query = "SELECT id FROM section WHERE name = '$section' ";

  • 2 weeks later...
Posted
//nome do servidor
$server = 'localhost';

//username para entrar na database
$username = 'rr_root';

//password para entrar na database
$password= '';

//nome da base de dados
$db_name = 'rr_xpac';

//ligação á DataBase
$link = mysql_connect($localhost,$username,$password);

//Seleciona DataBase
$db = mysql_select_db($db_name,$link);

//Query SQL
$consulta = "SELECT data FROM contador_visitas WHERE data = ".DATE('Y-m-d');

//resultado da query
$resultado = mysql_query($consulta, $link);

//selecciona os dados
$visitas_hoje = mysql_num_rows($resultado);

Alguma tem k estar aqui mal, mas ainda nao percebi o k :S é assim o resultado da variável $visitas_hoje é = 0, mas na base de dados tenho duas entradas com essa data no campo data :S

www.rgcouto.net

Posted

O erro esta aqui

$consulta = "SELECT data FROM contador_visitas WHERE data = ".DATE('Y-m-d');

Tem que ser

$consulta = "SELECT data FROM contador_visitas WHERE data = '". DATE('Y-m-d') ."'";

O valor de data é uma string por isso tens que colocar  ' '

Posted

lol, another question...I´m sorry...

<?

//include dos dados de configuração de acesso á DB
include ("config/configuracao.php");


if ($_GET["opcao"] == "") { //se ainda nao fez o login
login();
} elseif ($_GET["opcao"] == "validacao") {  //se ja fez o login, mas ainda nao validou os dados
validacao();
}


//funcao de verificacao da autenticação
function validacao() {

	$username = $_POST["username"];
$pwd = $_POST["password"];
$pwd = MD5($pwd);

$consulta = 'SELECT palavra_passe FROM utilizadores WHERE nome_utilizador = "'.$username.'"';

$resultado = mysql_query($consulta);

$num_linhas = mysql_num_rows($resultado);

$palavra_passe = mysql_fetch_row($resultado);

$palavra_passe = $palavra_passe[0];

if ($num_linhas != 0) {

	if ($palavra_passe == $pwd) {

		validado();

	} else {

		$erro = "Palavra-Passe inválida!!!";
		nao_validado();

	}
} else {

	$erro = "Nome de Utilizador inválido!!!";
	nao_validado();

}
}


//funcao de inserção de dados para login
function login(){
include ("includes/login.htm");
}

//funcao caso os dados sejam validados
function validado() {
include ("includes/top.php");
include ("includes/header.php");
include ("includes/menu.htm");
include ("includes/footer.php");
}

//funcao caso os dados nao sejam validados
function nao_validado() {
include ("includes/login.htm");
echo '<center><b><font face ="verdana" size="2" color="red">'.$erro.'</font></b></center>';
}

?>

desta vez a duvida é k nao consigo por isso a correr, o ficheiro login.htm tem um form para inserção dos dados username e password, só k tnt faça k meta os dados correctos como mal, parece-me k ele entra sempre na função login :S (este ficheiro é o index.php)

P.S. - o form do ficheiro login.htm tem como action=index.php?opcao=validacao

www.rgcouto.net

Posted

e melhor, nao usar isso, mas acho que o problema ta aqui:

if ($_GET["opcao"] == "") { //se ainda nao fez o login
login();
} elseif ($_GET["opcao"] == "validacao") {  //se ja fez o login, mas ainda nao validou os dados
validacao();
}

em $_GET['opcao'] , nao podes usar aspas, mas sim apostrofes. Ficaria:

if ($_GET['opcao'] == "") { //se ainda nao fez o login
login();
} elseif ($_GET['opcao'] == "validacao") {  //se ja fez o login, mas ainda nao validou os dados
validacao();
}

Proud LEIC-A@IST student!

Posted

ou podes usar isto também:

<?php

$i = $_GET['opcao'];

switch ($i) {
   case 'validacao':
       validacao();
       break;
   default:
       login();
}
?> 

Proud LEIC-A@IST student!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.