Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ederjsantos

colocar restrição no banco

Recommended Posts

Pessoal bom dia!

 

Estou fazendo um sistema que o banco de dados nao pode aceitar que um mesmo onibus seja alugado na mesma data, queria que o sistema desse uma meensagem falando que nessa data de agendamento não pode ser alugado, e nao sei como fazer isso podem me ajudar? Esse é o insert do banco:

function create($conn, $valueObject) {
         $sql = "INSERT INTO RENTAL ( ID_RENTAL, ID_VEHICLE, LOCATE, ";
         $sql = $sql."GO, BACK, DETAILS) VALUES (".$valueObject->getIdRental().", ";
         $sql = $sql."".$valueObject->getIdVehicle().", ";
         $sql = $sql."'".$valueObject->getLocate()."', ";
         $sql = $sql."'".$valueObject->getGo()."', ";
         $sql = $sql."'".$valueObject->getBack()."', ";
         $sql = $sql."'".$valueObject->getDetails()."') ";
         $result = $this->databaseUpdate($conn, $sql);
        return true;
   }

o problema esta no GO, quero que ele nao deixe q o mesmo onibus nao seja alugado na mesma data!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ID_RENTAL int(11) AUTO_INCREMENT

ID_VEHICLE int(11)

LOCATE varchar(100)

GO varchar(50)

BACK varchar(50)

DETAILS varchar(50)

 

esta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Podia criar um campo simples para tipo 'alugado' recebendo, sim ou não, ou 0 e 1 tanto faz.

SELECT * FROM onibus WHERE alugado='não'

 

Não sei se é bem assim que você quer, mas é uma ideia simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade quero que na hora do insert o sistema retornar a mensagem, falando q ja tem veiculo alugado nessa data que estou escolhendo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Podia criar um campo simples para tipo 'alugado' recebendo, sim ou não, ou 0 e 1 tanto faz.

SELECT * FROM onibus WHERE alugado='não'

 

Não sei se é bem assim que você quer, mas é uma ideia simples.

 

não vai funcionar, por que ele criou uma tabela separado para os transportes alugados.

 

 

para resolver o problema basta verificar se já existe o id do veiculo nessa tabela.

 

function create($conn, $valueObject) {
$consulta = mysql_query("SELECT ID_VEHICLE FROM tabela WHERE ID_VEHICLE = '$valueObject->getIdVehicle' ");
$existe = mysql_num_rows($consulta);
 if($existe >= 1){
   $sql = "INSERT INTO RENTAL ( ID_RENTAL, ID_VEHICLE, LOCATE, ";
$sql = $sql."GO, BACK, DETAILS) VALUES (".$valueObject->getIdRental().", ";
$sql = $sql."".$valueObject->getIdVehicle().", ";
$sql = $sql."'".$valueObject->getLocate()."', ";
$sql = $sql."'".$valueObject->getGo()."', ";
$sql = $sql."'".$valueObject->getBack()."', ";
$sql = $sql."'".$valueObject->getDetails()."') ";
$result = $this->databaseUpdate($conn, $sql);
return true;

 }else{
   echo "Esse veiculo já foi alugado.";
  return false;
 }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não esta inserindo os dados e nem erro esta dando!

 

foi só um exemplo como deve ser feito, ia precisar puxar a página de conexão para fazer isso funcionar.

 

eu fiz para você adaptar pois parece que você fez métodos para utilizar o banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.