IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

détécté les intersection entre 2 timeline ? [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 12
    Par défaut détécté les intersection entre 2 timeline ?
    Bonjour à tous,
    je cherche à créé un petit script pour détecter une intersection entre 2 timeline exemple :

    14:00 -17:00
    16-00 18:00

    est ce qu'il y aurait moyen de faire un script simple pour l'occasion ?
    merci d'avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce seront toujours des heures piles ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 12
    Par défaut
    je pensais pas qu'on me répondrais si rapidement !


    Ce seront toujours des heures piles ?
    ca peut etre n'importe qu'elle heure au format hh:mm

    voici ce que j'ai... le problème c que lorsque ca dépasse 2 sélection ... ça ne fonction plus très bien...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for($i=0 ;  $i < count($affecter)  ; $i++ ){ 
    	for($j=0 ;  $j < count($affecter)  ; $j++ ){
    		if( isset($h_out_aff[$j+1]) && isset($h_out_aff[$i+1]) ){
    			if($h_in_aff[$i] <= $h_out_aff[$j+1] && $h_in_aff[$i+1] <= $h_out_aff[$j] ){
    				$valide = false;
    			}
    		}
    	}
    }

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    L'intersection c'est le plus grand début et la petite fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    $t1 = 1400;
    $t2 = 1700;
    $t3 = 1800;
    $t4 = 1900;
     
    $intersect_debut = max($t1, $t3);
    $intersect_fin = min($t2, $t4);
     
    if ($intersect_debut < $interect_fin) {
    	echo $intersect_debut . " - " . $intersect_fin;
    }
    else {
    	echo 'pas d\'intersection';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 12
    Par défaut
    si il y en a plusieurs je fait pareil ?

    parce que je récupére ces éléments dans un formulaire... et la personne peux en sélectionner plusieurs mais il ne faut pas qu'il y est une intersection entre l'un d'entre eux..

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 12
    Par défaut
    du coup j'ai fait comme ca pour tous les prendre en conte, mais fait pas le resultat attendu :/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $t1 = null;
    $t2 = null;
    $t3 = null;
    $t4 = null;
    for($i=0 ;  $i < sizeof($affecter)  ; $i++ ){ 
    	for($j=0 ;  $j < sizeof($affecter)  ; $j++ ){
    		$t1 = strtotime($in[$i]) ;
    		$t2 = strtotime($out[$i]);	
    		$t3 = strtotime( $in[$j]);
    		$t4 = strtotime($out[$j]);
    		$intersection_in = max($t1,$t3);
    		$intersection_out = max($t2,$t4);
    		if($intersection_in < $intersection_out ){
    			echo $intersection_in." - ".$intersection_out ;
    			echo "<br/> intersection ***";
    		}else {
    			echo 'pas d\'intersection';
    		}
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul des surfaces d'intersections entre les cercles
    Par Midou45 dans le forum Mathématiques
    Réponses: 6
    Dernier message: 14/03/2012, 10h21
  2. Réponses: 8
    Dernier message: 28/12/2011, 18h09
  3. Réponses: 7
    Dernier message: 19/06/2008, 15h18
  4. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07
  5. Réponses: 6
    Dernier message: 23/12/2003, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo